<?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>67666</bug_id>
          
          <creation_ts>2011-09-06 13:12:41 -0700</creation_ts>
          <short_desc>Binding CodeGenerators don&apos;t support Conditional= on constants</short_desc>
          <delta_ts>2011-11-23 14:50:33 -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>New Bugs</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="Aaron Colwell">acolwell</reporter>
          <assigned_to name="Erik Arvidsson">arv</assigned_to>
          <cc>abarth</cc>
    
    <cc>arv</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>paroga</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>462786</commentid>
    <comment_count>0</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2011-09-06 13:12:41 -0700</bug_when>
    <thetext>It appears that at least CodeGeneratorV8.pm does not honor the Conditional= directive on constants and functions specified in the IDL. I encountered this while trying to convert my MediaSource API methods from using an &quot;#if defined(ENABLE_MEDIA_SOURCE)...&quot; block to [Conditional=MEDIA_SOURCE] on each of the items in the block. I&apos;ve attached a patch for the changes. 

When I apply this patch I get a bunch of compiler errors (see attached) that appear to indicate that the code generator completely ignored the Condition annotation on the functions and constants.

I&apos;d expect the code generator to not emit code for functions and constants if the Conditional value is 0 or not set like it does for attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462788</commentid>
    <comment_count>1</comment_count>
      <attachid>106472</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2011-09-06 13:13:35 -0700</bug_when>
    <thetext>Created attachment 106472
A patch that generates the errors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462789</commentid>
    <comment_count>2</comment_count>
      <attachid>106473</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2011-09-06 13:14:33 -0700</bug_when>
    <thetext>Created attachment 106473
Errors generated by the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507322</commentid>
    <comment_count>3</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2011-11-21 16:59:11 -0800</bug_when>
    <thetext>I can duplicate the issue with conditional consts but we have code that uses conditional functions so at least that should work:

http://www.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/xml/XMLHttpRequest.idl&amp;exact_package=chromium&amp;q=(%5Cs)*%5C%5BConditional=%20file:%5C.idl&amp;type=cs&amp;l=77</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507872</commentid>
    <comment_count>4</comment_count>
      <attachid>116296</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2011-11-22 16:56:29 -0800</bug_when>
    <thetext>Created attachment 116296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507874</commentid>
    <comment_count>5</comment_count>
      <attachid>116296</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-22 17:01:24 -0800</bug_when>
    <thetext>Comment on attachment 116296
Patch

Nice patch.  We should share more code like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507875</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-22 17:03:31 -0800</bug_when>
    <thetext>Attachment 116296 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:172:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1921:  jsTestObjCONDITIONAL_CONST is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/bindings/scripts/test/JS/JSTestObj.h:266:  jsTestObjCONDITIONAL_CONST is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp:1472:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 4 in 12 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>508376</commentid>
    <comment_count>7</comment_count>
      <attachid>116296</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-23 14:03:37 -0800</bug_when>
    <thetext>Comment on attachment 116296
Patch

Clearing flags on attachment: 116296

Committed r101102: &lt;http://trac.webkit.org/changeset/101102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508377</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-23 14:03:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508427</commentid>
    <comment_count>9</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-11-23 14:50:33 -0800</bug_when>
    <thetext>*** Bug 67450 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106472</attachid>
            <date>2011-09-06 13:13:35 -0700</date>
            <delta_ts>2011-11-22 16:56:23 -0800</delta_ts>
            <desc>A patch that generates the errors</desc>
            <filename>media-source-conditional.patch</filename>
            <type>text/plain</type>
            <size>3065</size>
            <attacher name="Aaron Colwell">acolwell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IDFkYmMzOTguLjA1
ZjE1ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApAQCAtOTAs
MjQgKzkwLDIyIEBAIG1vZHVsZSBodG1sIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbmRp
dGlvbmFsPU1FRElBX1NUQVRJU1RJQ1NdIHVuc2lnbmVkIGxvbmcgd2Via2l0QXVkaW9EZWNvZGVk
Qnl0ZUNvdW50OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TUVESUFfU1RB
VElTVElDU10gdW5zaWduZWQgbG9uZyB3ZWJraXRWaWRlb0RlY29kZWRCeXRlQ291bnQ7CiAKLSNp
ZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICYmIEVOQUJMRV9NRURJQV9TT1VSQ0UKICAg
ICAvLyBVUkwgcGFzc2VkIHRvIHNyYyBhdHRyaWJ1dGUgdG8gZW5hYmxlIHRoZSBtZWRpYSBzb3Vy
Y2UgbG9naWMuCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPXdlYmtp
dE1lZGlhU291cmNlLCBVUkxdIERPTVN0cmluZyB3ZWJraXRNZWRpYVNvdXJjZVVSTDsKKyAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgRW5hYmxlZEF0UnVu
dGltZT13ZWJraXRNZWRpYVNvdXJjZSwgVVJMXSBET01TdHJpbmcgd2Via2l0TWVkaWFTb3VyY2VV
Ukw7CiAKICAgICAvLyBBcHBlbmRzIG1lZGlhIHRvIHRvIHRoZSBzb3VyY2UuCi0gICAgW0VuYWJs
ZWRBdFJ1bnRpbWU9d2Via2l0TWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0U291cmNlQXBwZW5kKGlu
IFVpbnQ4QXJyYXkgZGF0YSkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIFtDb25kaXRpb25h
bD1NRURJQV9TT1VSQ0UsIEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0TWVkaWFTb3VyY2VdIHZvaWQg
d2Via2l0U291cmNlQXBwZW5kKGluIFVpbnQ4QXJyYXkgZGF0YSkgcmFpc2VzIChET01FeGNlcHRp
b24pOwogCiAgICAgLy8gU2lnbmFscyB0aGUgZW5kIG9mIHN0cmVhbS4KLSAgICBjb25zdCBbRW5h
YmxlZEF0UnVudGltZT13ZWJraXRNZWRpYVNvdXJjZV0gdW5zaWduZWQgc2hvcnQgRU9TX05PX0VS
Uk9SID0gMDsgLy8gRW5kIG9mIHN0cmVhbSByZWFjaGVkIHcvbyBlcnJvci4KLSAgICBjb25zdCBb
RW5hYmxlZEF0UnVudGltZT13ZWJraXRNZWRpYVNvdXJjZV0gdW5zaWduZWQgc2hvcnQgRU9TX05F
VFdPUktfRVJSID0gMTsgLy8gQSBuZXR3b3JrIGVycm9yIHRyaWdnZXJlZCBlbmQgb2Ygc3RyZWFt
LgotICAgIGNvbnN0IFtFbmFibGVkQXRSdW50aW1lPXdlYmtpdE1lZGlhU291cmNlXSB1bnNpZ25l
ZCBzaG9ydCBFT1NfREVDT0RFX0VSUiA9IDI7IC8vIEEgZGVjb2RlIGVycm9yIHRyaWdnZXJlZCBl
bmQgb2Ygc3RyZWFtLgotICAgIFtFbmFibGVkQXRSdW50aW1lPXdlYmtpdE1lZGlhU291cmNlXSB2
b2lkIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKGluIHVuc2lnbmVkIHNob3J0IHN0YXR1cykgcmFp
c2VzIChET01FeGNlcHRpb24pOworICAgIGNvbnN0IFtDb25kaXRpb25hbD1NRURJQV9TT1VSQ0Us
IEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0TWVkaWFTb3VyY2VdIHVuc2lnbmVkIHNob3J0IEVPU19O
T19FUlJPUiA9IDA7IC8vIEVuZCBvZiBzdHJlYW0gcmVhY2hlZCB3L28gZXJyb3IuCisgICAgY29u
c3QgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgRW5hYmxlZEF0UnVudGltZT13ZWJraXRNZWRp
YVNvdXJjZV0gdW5zaWduZWQgc2hvcnQgRU9TX05FVFdPUktfRVJSID0gMTsgLy8gQSBuZXR3b3Jr
IGVycm9yIHRyaWdnZXJlZCBlbmQgb2Ygc3RyZWFtLgorICAgIGNvbnN0IFtDb25kaXRpb25hbD1N
RURJQV9TT1VSQ0UsIEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0TWVkaWFTb3VyY2VdIHVuc2lnbmVk
IHNob3J0IEVPU19ERUNPREVfRVJSID0gMjsgLy8gQSBkZWNvZGUgZXJyb3IgdHJpZ2dlcmVkIGVu
ZCBvZiBzdHJlYW0uCisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgRW5hYmxlZEF0UnVu
dGltZT13ZWJraXRNZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShpbiB1
bnNpZ25lZCBzaG9ydCBzdGF0dXMpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAogICAgIC8vIElu
ZGljYXRlcyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgbWVkaWEgc291cmNlLgotICAgIGNvbnN0
IFtFbmFibGVkQXRSdW50aW1lPXdlYmtpdE1lZGlhU291cmNlXSB1bnNpZ25lZCBzaG9ydCBTT1VS
Q0VfQ0xPU0VEID0gMDsKLSAgICBjb25zdCBbRW5hYmxlZEF0UnVudGltZT13ZWJraXRNZWRpYVNv
dXJjZV0gdW5zaWduZWQgc2hvcnQgU09VUkNFX09QRU4gPSAxOwotICAgIGNvbnN0IFtFbmFibGVk
QXRSdW50aW1lPXdlYmtpdE1lZGlhU291cmNlXSB1bnNpZ25lZCBzaG9ydCBTT1VSQ0VfRU5ERUQg
PSAyOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT13ZWJraXRNZWRp
YVNvdXJjZV0gdW5zaWduZWQgc2hvcnQgd2Via2l0U291cmNlU3RhdGU7Ci0jZW5kaWYKKyAgICBj
b25zdCBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFLCBFbmFibGVkQXRSdW50aW1lPXdlYmtpdE1l
ZGlhU291cmNlXSB1bnNpZ25lZCBzaG9ydCBTT1VSQ0VfQ0xPU0VEID0gMDsKKyAgICBjb25zdCBb
Q29uZGl0aW9uYWw9TUVESUFfU09VUkNFLCBFbmFibGVkQXRSdW50aW1lPXdlYmtpdE1lZGlhU291
cmNlXSB1bnNpZ25lZCBzaG9ydCBTT1VSQ0VfT1BFTiA9IDE7CisgICAgY29uc3QgW0NvbmRpdGlv
bmFsPU1FRElBX1NPVVJDRSwgRW5hYmxlZEF0UnVudGltZT13ZWJraXRNZWRpYVNvdXJjZV0gdW5z
aWduZWQgc2hvcnQgU09VUkNFX0VOREVEID0gMjsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPU1FRElBX1NPVVJDRSwgRW5hYmxlZEF0UnVudGltZT13ZWJraXRNZWRpYVNvdXJj
ZV0gdW5zaWduZWQgc2hvcnQgd2Via2l0U291cmNlU3RhdGU7CiB9OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>106473</attachid>
            <date>2011-09-06 13:14:33 -0700</date>
            <delta_ts>2011-09-06 13:14:33 -0700</delta_ts>
            <desc>Errors generated by the patch.</desc>
            <filename>media-source-conditional-errors.txt</filename>
            <type>text/plain</type>
            <size>7762</size>
            <attacher name="Aaron Colwell">acolwell</attacher>
            
              <data encoding="base64">SW4gZmlsZSBpbmNsdWRlZCBmcm9tIGdlbi93ZWJraXQvYmluZGluZ3MvVjhEZXJpdmVkU291cmNl
czA2LmNwcDo1NzoKZ2VuL3dlYmNvcmUvYmluZGluZ3MvVjhIVE1MTWVkaWFFbGVtZW50LmNwcDo0
NDY6MTA6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3dlYmtpdFNvdXJjZUFwcGVuZCcgaW4gJ1dl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQnCiAgICBpbXAtPndlYmtpdFNvdXJjZUFwcGVuZChkYXRh
LCBlYyk7CiAgICB+fn4gIF4KZ2VuL3dlYmNvcmUvYmluZGluZ3MvVjhIVE1MTWVkaWFFbGVtZW50
LmNwcDo0NjU6MTA6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3dlYmtpdFNvdXJjZUVuZE9mU3Ry
ZWFtJyBpbiAnV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCcKICAgIGltcC0+d2Via2l0U291cmNl
RW5kT2ZTdHJlYW0oc3RhdHVzLCBlYyk7CiAgICB+fn4gIF4KZ2VuL3dlYmNvcmUvYmluZGluZ3Mv
VjhIVE1MTWVkaWFFbGVtZW50LmNwcDo1NzU6Mzk6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ0VP
U19OT19FUlJPUicgaW4gJ1dlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQnCkNPTVBJTEVfQVNTRVJU
KDAgPT0gSFRNTE1lZGlhRWxlbWVudDo6RU9TX05PX0VSUk9SLCBIVE1MTWVkaWFFbGVtZW50RW51
bUVPU19OT19FUlJPUklzV3JvbmdVc2VEb250Q2hlY2tFbnVtcyk7Cn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vLi4vYmFzZS9iYXNpY3R5cGVz
Lmg6MjE3OjMxOiBub3RlOiBleHBhbmRlZCBmcm9tOgogIHR5cGVkZWYgQ29tcGlsZUFzc2VydDwo
Ym9vbChleHByKSk+IG1zZ1tib29sKGV4cHIpID8gMSA6IC0xXQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBnZW4vd2Via2l0L2JpbmRpbmdzL1Y4
RGVyaXZlZFNvdXJjZXMwNi5jcHA6NTc6Cmdlbi93ZWJjb3JlL2JpbmRpbmdzL1Y4SFRNTE1lZGlh
RWxlbWVudC5jcHA6NTc1OjM5OiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICdFT1NfTk9fRVJST1In
IGluICdXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50JwpDT01QSUxFX0FTU0VSVCgwID09IEhUTUxN
ZWRpYUVsZW1lbnQ6OkVPU19OT19FUlJPUiwgSFRNTE1lZGlhRWxlbWVudEVudW1FT1NfTk9fRVJS
T1JJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fl5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uLy4uL2Jhc2UvYmFzaWN0eXBlcy5oOjIxNzo0ODog
bm90ZTogZXhwYW5kZWQgZnJvbToKICB0eXBlZGVmIENvbXBpbGVBc3NlcnQ8KGJvb2woZXhwcikp
PiBtc2dbYm9vbChleHByKSA/IDEgOiAtMV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBnZW4vd2Via2l0L2JpbmRp
bmdzL1Y4RGVyaXZlZFNvdXJjZXMwNi5jcHA6NTc6Cmdlbi93ZWJjb3JlL2JpbmRpbmdzL1Y4SFRN
TE1lZGlhRWxlbWVudC5jcHA6NTc2OjM5OiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICdFT1NfTkVU
V09SS19FUlInIGluICdXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50JwpDT01QSUxFX0FTU0VSVCgx
ID09IEhUTUxNZWRpYUVsZW1lbnQ6OkVPU19ORVRXT1JLX0VSUiwgSFRNTE1lZGlhRWxlbWVudEVu
dW1FT1NfTkVUV09SS19FUlJJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOwp+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uLy4uL2Jhc2Uv
YmFzaWN0eXBlcy5oOjIxNzozMTogbm90ZTogZXhwYW5kZWQgZnJvbToKICB0eXBlZGVmIENvbXBp
bGVBc3NlcnQ8KGJvb2woZXhwcikpPiBtc2dbYm9vbChleHByKSA/IDEgOiAtMV0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ2VuL3dlYmtpdC9i
aW5kaW5ncy9WOERlcml2ZWRTb3VyY2VzMDYuY3BwOjU3OgpnZW4vd2ViY29yZS9iaW5kaW5ncy9W
OEhUTUxNZWRpYUVsZW1lbnQuY3BwOjU3NjozOTogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAnRU9T
X05FVFdPUktfRVJSJyBpbiAnV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCcKQ09NUElMRV9BU1NF
UlQoMSA9PSBIVE1MTWVkaWFFbGVtZW50OjpFT1NfTkVUV09SS19FUlIsIEhUTUxNZWRpYUVsZW1l
bnRFbnVtRU9TX05FVFdPUktfRVJSSXNXcm9uZ1VzZURvbnRDaGVja0VudW1zKTsKfn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi8uLi9i
YXNlL2Jhc2ljdHlwZXMuaDoyMTc6NDg6IG5vdGU6IGV4cGFuZGVkIGZyb206CiAgdHlwZWRlZiBD
b21waWxlQXNzZXJ0PChib29sKGV4cHIpKT4gbXNnW2Jvb2woZXhwcikgPyAxIDogLTFdCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1
ZGVkIGZyb20gZ2VuL3dlYmtpdC9iaW5kaW5ncy9WOERlcml2ZWRTb3VyY2VzMDYuY3BwOjU3Ogpn
ZW4vd2ViY29yZS9iaW5kaW5ncy9WOEhUTUxNZWRpYUVsZW1lbnQuY3BwOjU3NzozOTogZXJyb3I6
IG5vIG1lbWJlciBuYW1lZCAnRU9TX0RFQ09ERV9FUlInIGluICdXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50JwpDT01QSUxFX0FTU0VSVCgyID09IEhUTUxNZWRpYUVsZW1lbnQ6OkVPU19ERUNPREVf
RVJSLCBIVE1MTWVkaWFFbGVtZW50RW51bUVPU19ERUNPREVfRVJSSXNXcm9uZ1VzZURvbnRDaGVj
a0VudW1zKTsKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn4KLi4vLi4vYmFzZS9iYXNpY3R5cGVzLmg6MjE3OjMxOiBub3RlOiBleHBhbmRlZCBm
cm9tOgogIHR5cGVkZWYgQ29tcGlsZUFzc2VydDwoYm9vbChleHByKSk+IG1zZ1tib29sKGV4cHIp
ID8gMSA6IC0xXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVk
ZWQgZnJvbSBnZW4vd2Via2l0L2JpbmRpbmdzL1Y4RGVyaXZlZFNvdXJjZXMwNi5jcHA6NTc6Cmdl
bi93ZWJjb3JlL2JpbmRpbmdzL1Y4SFRNTE1lZGlhRWxlbWVudC5jcHA6NTc3OjM5OiBlcnJvcjog
bm8gbWVtYmVyIG5hbWVkICdFT1NfREVDT0RFX0VSUicgaW4gJ1dlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQnCkNPTVBJTEVfQVNTRVJUKDIgPT0gSFRNTE1lZGlhRWxlbWVudDo6RU9TX0RFQ09ERV9F
UlIsIEhUTUxNZWRpYUVsZW1lbnRFbnVtRU9TX0RFQ09ERV9FUlJJc1dyb25nVXNlRG9udENoZWNr
RW51bXMpOwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fgouLi8uLi9iYXNlL2Jhc2ljdHlwZXMuaDoyMTc6NDg6IG5vdGU6IGV4cGFuZGVkIGZy
b206CiAgdHlwZWRlZiBDb21waWxlQXNzZXJ0PChib29sKGV4cHIpKT4gbXNnW2Jvb2woZXhwcikg
PyAxIDogLTFdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ2VuL3dlYmtpdC9iaW5kaW5ncy9WOERlcml2ZWRTb3Vy
Y2VzMDYuY3BwOjU3OgpnZW4vd2ViY29yZS9iaW5kaW5ncy9WOEhUTUxNZWRpYUVsZW1lbnQuY3Bw
OjU3ODozOTogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAnU09VUkNFX0NMT1NFRCcgaW4gJ1dlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQnCkNPTVBJTEVfQVNTRVJUKDAgPT0gSFRNTE1lZGlhRWxlbWVu
dDo6U09VUkNFX0NMT1NFRCwgSFRNTE1lZGlhRWxlbWVudEVudW1TT1VSQ0VfQ0xPU0VESXNXcm9u
Z1VzZURvbnRDaGVja0VudW1zKTsKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5efn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+Ci4uLy4uL2Jhc2UvYmFzaWN0eXBlcy5oOjIxNzozMTogbm90ZTog
ZXhwYW5kZWQgZnJvbToKICB0eXBlZGVmIENvbXBpbGVBc3NlcnQ8KGJvb2woZXhwcikpPiBtc2db
Ym9vbChleHByKSA/IDEgOiAtMV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBm
aWxlIGluY2x1ZGVkIGZyb20gZ2VuL3dlYmtpdC9iaW5kaW5ncy9WOERlcml2ZWRTb3VyY2VzMDYu
Y3BwOjU3OgpnZW4vd2ViY29yZS9iaW5kaW5ncy9WOEhUTUxNZWRpYUVsZW1lbnQuY3BwOjU3ODoz
OTogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAnU09VUkNFX0NMT1NFRCcgaW4gJ1dlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQnCkNPTVBJTEVfQVNTRVJUKDAgPT0gSFRNTE1lZGlhRWxlbWVudDo6U09V
UkNFX0NMT1NFRCwgSFRNTE1lZGlhRWxlbWVudEVudW1TT1VSQ0VfQ0xPU0VESXNXcm9uZ1VzZURv
bnRDaGVja0VudW1zKTsKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+Ci4uLy4uL2Jhc2UvYmFzaWN0eXBlcy5oOjIxNzo0ODogbm90ZTogZXhwYW5k
ZWQgZnJvbToKICB0eXBlZGVmIENvbXBpbGVBc3NlcnQ8KGJvb2woZXhwcikpPiBtc2dbYm9vbChl
eHByKSA/IDEgOiAtMV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBnZW4vd2Via2l0L2JpbmRpbmdzL1Y4RGVyaXZl
ZFNvdXJjZXMwNi5jcHA6NTc6Cmdlbi93ZWJjb3JlL2JpbmRpbmdzL1Y4SFRNTE1lZGlhRWxlbWVu
dC5jcHA6NTc5OjM5OiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICdTT1VSQ0VfT1BFTicgaW4gJ1dl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQnCkNPTVBJTEVfQVNTRVJUKDEgPT0gSFRNTE1lZGlhRWxl
bWVudDo6U09VUkNFX09QRU4sIEhUTUxNZWRpYUVsZW1lbnRFbnVtU09VUkNFX09QRU5Jc1dyb25n
VXNlRG9udENoZWNrRW51bXMpOwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fl5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fgouLi8uLi9iYXNlL2Jhc2ljdHlwZXMuaDoyMTc6MzE6IG5vdGU6IGV4cGFu
ZGVkIGZyb206CiAgdHlwZWRlZiBDb21waWxlQXNzZXJ0PChib29sKGV4cHIpKT4gbXNnW2Jvb2wo
ZXhwcikgPyAxIDogLTFdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIGdlbi93ZWJraXQvYmluZGluZ3MvVjhEZXJpdmVkU291cmNlczA2LmNwcDo1
NzoKZ2VuL3dlYmNvcmUvYmluZGluZ3MvVjhIVE1MTWVkaWFFbGVtZW50LmNwcDo1Nzk6Mzk6IGVy
cm9yOiBubyBtZW1iZXIgbmFtZWQgJ1NPVVJDRV9PUEVOJyBpbiAnV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudCcKQ09NUElMRV9BU1NFUlQoMSA9PSBIVE1MTWVkaWFFbGVtZW50OjpTT1VSQ0VfT1BF
TiwgSFRNTE1lZGlhRWxlbWVudEVudW1TT1VSQ0VfT1BFTklzV3JvbmdVc2VEb250Q2hlY2tFbnVt
cyk7Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4u
Ly4uL2Jhc2UvYmFzaWN0eXBlcy5oOjIxNzo0ODogbm90ZTogZXhwYW5kZWQgZnJvbToKICB0eXBl
ZGVmIENvbXBpbGVBc3NlcnQ8KGJvb2woZXhwcikpPiBtc2dbYm9vbChleHByKSA/IDEgOiAtMV0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUg
aW5jbHVkZWQgZnJvbSBnZW4vd2Via2l0L2JpbmRpbmdzL1Y4RGVyaXZlZFNvdXJjZXMwNi5jcHA6
NTc6Cmdlbi93ZWJjb3JlL2JpbmRpbmdzL1Y4SFRNTE1lZGlhRWxlbWVudC5jcHA6NTgwOjM5OiBl
cnJvcjogbm8gbWVtYmVyIG5hbWVkICdTT1VSQ0VfRU5ERUQnIGluICdXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50JwpDT01QSUxFX0FTU0VSVCgyID09IEhUTUxNZWRpYUVsZW1lbnQ6OlNPVVJDRV9F
TkRFRCwgSFRNTE1lZGlhRWxlbWVudEVudW1TT1VSQ0VfRU5ERURJc1dyb25nVXNlRG9udENoZWNr
RW51bXMpOwp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+Ci4uLy4uL2Jhc2UvYmFzaWN0eXBlcy5oOjIxNzozMTogbm90ZTogZXhwYW5kZWQgZnJvbToK
ICB0eXBlZGVmIENvbXBpbGVBc3NlcnQ8KGJvb2woZXhwcikpPiBtc2dbYm9vbChleHByKSA/IDEg
OiAtMV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gZ2VuL3dlYmtpdC9iaW5kaW5ncy9WOERlcml2ZWRTb3VyY2VzMDYuY3BwOjU3OgpnZW4vd2Vi
Y29yZS9iaW5kaW5ncy9WOEhUTUxNZWRpYUVsZW1lbnQuY3BwOjU4MDozOTogZXJyb3I6IG5vIG1l
bWJlciBuYW1lZCAnU09VUkNFX0VOREVEJyBpbiAnV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCcK
Q09NUElMRV9BU1NFUlQoMiA9PSBIVE1MTWVkaWFFbGVtZW50OjpTT1VSQ0VfRU5ERUQsIEhUTUxN
ZWRpYUVsZW1lbnRFbnVtU09VUkNFX0VOREVESXNXcm9uZ1VzZURvbnRDaGVja0VudW1zKTsKfn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi8uLi9i
YXNlL2Jhc2ljdHlwZXMuaDoyMTc6NDg6IG5vdGU6IGV4cGFuZGVkIGZyb206CiAgdHlwZWRlZiBD
b21waWxlQXNzZXJ0PChib29sKGV4cHIpKT4gbXNnW2Jvb2woZXhwcikgPyAxIDogLTFdCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1
ZGVkIGZyb20gZ2VuL3dlYmtpdC9iaW5kaW5ncy9WOERlcml2ZWRTb3VyY2VzMDYuY3BwOjU3Ogpn
ZW4vd2ViY29yZS9iaW5kaW5ncy9WOEhUTUxNZWRpYUVsZW1lbnQuY3BwOjYxNzozMzogZXJyb3I6
IG5vIG1lbWJlciBuYW1lZCAnd2Via2l0TWVkaWFTb3VyY2VFbmFibGVkJyBpbiAnV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlcycKICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3
ZWJraXRNZWRpYVNvdXJjZUVuYWJsZWQoKSkKICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5eCmdlbi93ZWJjb3JlL2JpbmRpbmdzL1Y4SFRNTE1lZGlhRWxlbWVudC5jcHA6NjE5OjMzOiBl
cnJvcjogbm8gbWVtYmVyIG5hbWVkICd3ZWJraXRNZWRpYVNvdXJjZUVuYWJsZWQnIGluICdXZWJD
b3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzJwogICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OndlYmtpdE1lZGlhU291cmNlRW5hYmxlZCgpKQogICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fl4KCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116296</attachid>
            <date>2011-11-22 16:56:29 -0800</date>
            <delta_ts>2011-11-23 14:03:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67666-20111122165627.patch</filename>
            <type>text/plain</type>
            <size>26253</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwODA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjVlMTU2MGVlNDA1OTJj
NjVmMTdlZWIwMTQ2OWIyZjgyZDVkNTBhOS4uZTdhN2UwNTZiZTkyZTViMTUyZDU5ZDI3OGY1ZTA2
N2FhZGZhMzVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDExLTExLTIyICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQmluZGluZyBDb2RlR2Vu
ZXJhdG9ycyBkb24ndCBzdXBwb3J0IENvbmRpdGlvbmFsPSBvbiBjb25zdGFudHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBzdXBwb3J0IGZvciBb
Q29uZGl0aW9uYWw9TEFCRUxdIHRvIGNvbnN0IElETCBmaWVsZHMuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAgICAgIChHZW5lcmF0ZUNvbmRpdGlv
bmFsU3RyaW5nRnJvbUF0dHJpYnV0ZVZhbHVlKTogTW92ZWQgb3V0IG9mIENvZGVHZW5lcmF0b3J7
Q1BQLEpTLFY4fS5wbS4KKyAgICAgICAgKEdlbmVyYXRlQ29tcGlsZVRpbWVDaGVja0ZvckVudW1z
SWZOZWVkZWQpOiBXcmFwIGluIGNvbmRpdGlvbmFsICNpZi4KKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG06CisgICAgICAgIChHZW5lcmF0ZUNvbmRpdGlvbmFs
U3RyaW5nKToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKTogRGl0dG8uCisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUNvbmRp
dGlvbmFsU3RyaW5nKToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKTogRGl0dG8uCisgICAgICAg
IChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKTogRGl0dG8uCisgICAgICAgIChHZW5lcmF0ZUhhc2hU
YWJsZSk6CisgICAgICAgIChXcml0ZURhdGEpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvck9iakMucG06CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6IERpdHRvLgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAo
R2VuZXJhdGVDb25kaXRpb25hbFN0cmluZyk6IERpdHRvLgorICAgICAgICAoR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbik6CisgICAgICAgIChXcml0ZURhdGEpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oOiBHZW5lcmF0ZWQgY29kZSBub3cgd3JhcHMg
Y29uZGl0aW9uYWwgY29uc3QgaW4gI2lmLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqQ09ORElUSU9O
QUxfQ09OU1QpOiBEaXR0bworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouaDogRGl0dG8KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0T2JqLmg6IERpdHRvCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmou
aWRsOiBBZGRlZCBhIGNvbmRpdGlvbmFsIGNvbnN0LgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwOiBHZW5lcmF0ZWQgY29kZSBub3cgd3JhcHMgY29uZGl0
aW9uYWwgY29uc3QgaW4gI2lmLgorCiAyMDExLTExLTE4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFwcGVhcmFuY2Ugb2YgY29tcG91bmQgdHJhbnNm
b3JtIGFuaW1hdGlvbnMgdW5kZXIgYXBwcyBsaW5rZWQgb24gU25vd0xlb3BhcmQgaXMgaW5jb3Jy
ZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3Iu
cG0KaW5kZXggMjBkZGM1MjliMTAxZjI5NWYzOWJlZjJhMDQyNmNlMDVjZjEwMTA1ZS4uOGIwOGY4
ODM5ZDQ3MjMwZDZiMTI3OTQzMjRkYTI1NzllZjIyZTJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpAQCAtNTU5LDkgKzU1OSwyMiBA
QCBzdWIgU2hvdWxkQ2hlY2tFbnVtcwogICAgIHJldHVybiBub3QgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiRG9udENoZWNrRW51bXMifTsKIH0KIAorc3ViIEdlbmVyYXRlQ29uZGl0
aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUKK3sKKyAgICBteSAkZ2VuZXJhdG9yID0gc2hp
ZnQ7CisgICAgbXkgJGNvbmRpdGlvbmFsID0gc2hpZnQ7CisgICAgaWYgKCRjb25kaXRpb25hbCA9
fiAvJi8pIHsKKyAgICAgICAgcmV0dXJuICJFTkFCTEUoIiAuIGpvaW4oIikgJiYgRU5BQkxFKCIs
IHNwbGl0KC8mLywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7CisgICAgfSBlbHNpZiAoJGNvbmRpdGlv
bmFsID1+IC9cfC8pIHsKKyAgICAgICAgcmV0dXJuICJFTkFCTEUoIiAuIGpvaW4oIikgfHwgRU5B
QkxFKCIsIHNwbGl0KC9cfC8sICRjb25kaXRpb25hbCkpIC4gIikiOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIHJldHVybiAiRU5BQkxFKCIgLiAkY29uZGl0aW9uYWwgLiAiKSI7CisgICAgfQorfQor
CiBzdWIgR2VuZXJhdGVDb21waWxlVGltZUNoZWNrRm9yRW51bXNJZk5lZWRlZAogewotICAgIG15
ICgkb2JqZWN0LCAkZGF0YU5vZGUpID0gQF87CisgICAgbXkgKCRnZW5lcmF0b3IsICRkYXRhTm9k
ZSkgPSBAXzsKICAgICBteSAkaW50ZXJmYWNlTmFtZSA9ICRkYXRhTm9kZS0+bmFtZTsKICAgICBt
eSBAY2hlY2tzID0gKCk7CiAgICAgIyBJZiBuZWNlc3NhcnksIGNoZWNrIHRoYXQgYWxsIGNvbnN0
YW50cyBhcmUgYXZhaWxhYmxlIGFzIGVudW1zIHdpdGggdGhlIHNhbWUgdmFsdWUuCkBAIC01NzEs
NyArNTg0LDE4IEBAIHN1YiBHZW5lcmF0ZUNvbXBpbGVUaW1lQ2hlY2tGb3JFbnVtc0lmTmVlZGVk
CiAgICAgICAgICAgICBteSAkcmVmbGVjdCA9ICRjb25zdGFudC0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IlJlZmxlY3QifTsKICAgICAgICAgICAgIG15ICRuYW1lID0gJHJlZmxlY3QgPyAkcmVmbGVj
dCA6ICRjb25zdGFudC0+bmFtZTsKICAgICAgICAgICAgIG15ICR2YWx1ZSA9ICRjb25zdGFudC0+
dmFsdWU7CisgICAgICAgICAgICBteSAkY29uZGl0aW9uYWwgPSAkY29uc3RhbnQtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDb25kaXRpb25hbCJ9OworCisgICAgICAgICAgICBpZiAoJGNvbmRpdGlv
bmFsKSB7CisgICAgICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gJGdlbmVyYXRv
ci0+R2VuZXJhdGVDb25kaXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9u
YWwpOworICAgICAgICAgICAgICAgIHB1c2goQGNoZWNrcywgIiNpZiAke2NvbmRpdGlvbmFsU3Ry
aW5nfVxuIik7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIHB1c2goQGNoZWNrcywgIkNP
TVBJTEVfQVNTRVJUKCR2YWx1ZSA9PSAke2ludGVyZmFjZU5hbWV9OjokbmFtZSwgJHtpbnRlcmZh
Y2VOYW1lfUVudW0ke25hbWV9SXNXcm9uZ1VzZURvbnRDaGVja0VudW1zKTtcbiIpOworCisgICAg
ICAgICAgICBpZiAoJGNvbmRpdGlvbmFsKSB7CisgICAgICAgICAgICAgICAgcHVzaChAY2hlY2tz
LCAiI2VuZGlmXG4iKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBwdXNoKEBj
aGVja3MsICJcbiIpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckNQUC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckNQUC5wbQppbmRleCAzNTcyNzEyMTJlYjc0OWZmZGUxNWNiNzNh
MDY5OTYwMjA0YWNkMDcxLi5hNTQ2OWIxYjQyNDY4MDAzODZjODBiYWI3MzMwZTcxM2JkZjdhODA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JDUFAucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yQ1BQLnBtCkBAIC0zMTgsMjQgKzMxOCwxMiBAQCBzdWIgQWRkSW5jbHVkZXNGb3JUeXBlCiAg
ICAgJGltcGxJbmNsdWRlc3siV2ViRE9NJHR5cGUuaCJ9ID0gMTsKIH0KIAotc3ViIEdlbmVyYXRl
Q29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUKLXsKLSAgICBteSAkY29uZGl0aW9u
YWwgPSBzaGlmdDsKLSAgICBpZiAoJGNvbmRpdGlvbmFsID1+IC8mLykgewotICAgICAgICByZXR1
cm4gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFCTEUoIiwgc3BsaXQoLyYvLCAkY29uZGl0aW9u
YWwpKSAuICIpIjsKLSAgICB9IGVsc2lmICgkY29uZGl0aW9uYWwgPX4gL1x8LykgewotICAgICAg
ICByZXR1cm4gIkVOQUJMRSgiIC4gam9pbigiKSB8fCBFTkFCTEUoIiwgc3BsaXQoL1x8LywgJGNv
bmRpdGlvbmFsKSkgLiAiKSI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcmV0dXJuICJFTkFCTEUo
IiAuICRjb25kaXRpb25hbCAuICIpIjsKLSAgICB9Ci19Ci0KIHN1YiBHZW5lcmF0ZUNvbmRpdGlv
bmFsU3RyaW5nCiB7CiAgICAgbXkgJG5vZGUgPSBzaGlmdDsKICAgICBteSAkY29uZGl0aW9uYWwg
PSAkbm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlvbmFsIn07CiAgICAgaWYgKCRj
b25kaXRpb25hbCkgewotICAgICAgICByZXR1cm4gR2VuZXJhdGVDb25kaXRpb25hbFN0cmluZ0Zy
b21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9uYWwpOworICAgICAgICByZXR1cm4gJGNvZGVHZW5l
cmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRp
dGlvbmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICByZXR1cm4gIiI7CiAgICAgfQpAQCAtNDAz
LDE4ICszOTEsMjkgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgIyAtIEFkZCBjb25zdGFudHMu
CiAgICAgaWYgKCRudW1Db25zdGFudHMgPiAwKSB7CiAgICAgICAgIG15IEBoZWFkZXJDb25zdGFu
dHMgPSAoKTsKKyAgICAgICAgbXkgQGNvbnN0YW50cyA9IEB7JGRhdGFOb2RlLT5jb25zdGFudHN9
OworICAgICAgICBteSAkY29tYmluZWRDb25zdGFudHMgPSAiIjsKIAogICAgICAgICAjIEZJWE1F
OiB3ZSBuZWVkIGEgd2F5IHRvIGluY2x1ZGUgbXVsdGlwbGUgZW51bXMuCi0gICAgICAgIGZvcmVh
Y2ggbXkgJGNvbnN0YW50IChAeyRkYXRhTm9kZS0+Y29uc3RhbnRzfSkgeworICAgICAgICBmb3Jl
YWNoIG15ICRjb25zdGFudCAoQGNvbnN0YW50cykgewogICAgICAgICAgICAgbXkgJGNvbnN0YW50
TmFtZSA9ICRjb25zdGFudC0+bmFtZTsKICAgICAgICAgICAgIG15ICRjb25zdGFudFZhbHVlID0g
JGNvbnN0YW50LT52YWx1ZTsKKyAgICAgICAgICAgIG15ICRjb25kaXRpb25hbCA9ICRjb25zdGFu
dC0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlvbmFsIn07CisgICAgICAgICAgICBteSAk
bm90TGFzdCA9ICRjb25zdGFudCBuZSAkY29uc3RhbnRzWy0xXTsKIAotICAgICAgICAgICAgbXkg
JG91dHB1dCA9ICJXRUJET01fIiAuICRjb25zdGFudE5hbWUgLiAiID0gIiAuICRjb25zdGFudFZh
bHVlOwotICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29uc3RhbnRzLCAiICAgICAgICAiIC4gJG91
dHB1dCk7CisgICAgICAgICAgICBpZiAoJGNvbmRpdGlvbmFsKSB7CisgICAgICAgICAgICAgICAg
bXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9u
YWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRpdGlvbmFsKTsKKyAgICAgICAgICAgICAg
ICAkY29tYmluZWRDb25zdGFudHMgLj0gIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIjsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICRjb21iaW5lZENvbnN0YW50cyAuPSAiICAgICAgICBX
RUJET01fJGNvbnN0YW50TmFtZSA9ICRjb25zdGFudFZhbHVlIjsKKyAgICAgICAgICAgICRjb21i
aW5lZENvbnN0YW50cyAuPSAiLCIgaWYgJG5vdExhc3Q7CisgICAgICAgICAgICBpZiAoJGNvbmRp
dGlvbmFsKSB7CisgICAgICAgICAgICAgICAgJGNvbWJpbmVkQ29uc3RhbnRzIC49ICJcbiNlbmRp
ZlxuIjsKKyAgICAgICAgICAgIH0gZWxzaWYgKCRub3RMYXN0KSB7CisgICAgICAgICAgICAgICAg
JGNvbWJpbmVkQ29uc3RhbnRzIC49ICJcbiI7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KIAot
ICAgICAgICBteSAkY29tYmluZWRDb25zdGFudHMgPSBqb2luKCIsXG4iLCBAaGVhZGVyQ29uc3Rh
bnRzKTsKLQogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgICIpOwogICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiZW51bSB7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudCwgJGNvbWJpbmVkQ29uc3RhbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggODhkYWYzZDdjNjQ2Y2QzNWM1MDE3
OGM1Nzk5Yjk0ZjEwNWMyODhmYS4uY2M0NTYyYzZjYjZiNzc5MDNlM2RjYTRhNmRlMzQyOWVjNjQz
ZDAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KQEAgLTQxMSwyNCArNDExLDEyIEBAIHN1YiBwcm90b3R5cGVIYXNoVGFibGVB
Y2Nlc3NvcgogICAgIH0KIH0KIAotc3ViIEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0
cmlidXRlVmFsdWUKLXsKLSAgICBteSAkY29uZGl0aW9uYWwgPSBzaGlmdDsKLSAgICBpZiAoJGNv
bmRpdGlvbmFsID1+IC8mLykgewotICAgICAgICByZXR1cm4gIkVOQUJMRSgiIC4gam9pbigiKSAm
JiBFTkFCTEUoIiwgc3BsaXQoLyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKLSAgICB9IGVsc2lm
ICgkY29uZGl0aW9uYWwgPX4gL1x8LykgewotICAgICAgICByZXR1cm4gIkVOQUJMRSgiIC4gam9p
bigiKSB8fCBFTkFCTEUoIiwgc3BsaXQoL1x8LywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgcmV0dXJuICJFTkFCTEUoIiAuICRjb25kaXRpb25hbCAuICIpIjsK
LSAgICB9Ci19Ci0KIHN1YiBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nCiB7CiAgICAgbXkgJG5v
ZGUgPSBzaGlmdDsKICAgICBteSAkY29uZGl0aW9uYWwgPSAkbm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkNvbmRpdGlvbmFsIn07CiAgICAgaWYgKCRjb25kaXRpb25hbCkgewotICAgICAgICBy
ZXR1cm4gR2VuZXJhdGVDb25kaXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0
aW9uYWwpOworICAgICAgICByZXR1cm4gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9u
YWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRpdGlvbmFsKTsKICAgICB9IGVsc2Ugewog
ICAgICAgICByZXR1cm4gIiI7CiAgICAgfQpAQCAtMTEyMyw3ICsxMTExLDEzIEBAIHN1YiBHZW5l
cmF0ZUhlYWRlcgogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCIvLyBDb25zdGFudHNcblxu
Iik7CiAgICAgICAgIGZvcmVhY2ggbXkgJGNvbnN0YW50IChAeyRkYXRhTm9kZS0+Y29uc3RhbnRz
fSkgewogICAgICAgICAgICAgbXkgJGdldHRlciA9ICJqcyIgLiAkaW50ZXJmYWNlTmFtZSAuICRj
b2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRjb25zdGFudC0+bmFtZSk7CisgICAgICAgICAgICBt
eSAkY29uZGl0aW9uYWwgPSAkY29uc3RhbnQtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25kaXRp
b25hbCJ9OworICAgICAgICAgICAgaWYgKCRjb25kaXRpb25hbCkgeworICAgICAgICAgICAgICAg
IG15ICRjb25kaXRpb25hbFN0cmluZyA9ICRjb2RlR2VuZXJhdG9yLT5HZW5lcmF0ZUNvbmRpdGlv
bmFsU3RyaW5nRnJvbUF0dHJpYnV0ZVZhbHVlKCRjb25kaXRpb25hbCk7CisgICAgICAgICAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIik7Cisg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiSlNDOjpKU1Zh
bHVlICR7Z2V0dGVyfShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyJik7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIjZW5k
aWZcbiIpIGlmICRjb25kaXRpb25hbDsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTM2MiwxOSAr
MTM1NiwyNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICBteSBAaGFzaFZh
bHVlMSA9ICgpOwogICAgICAgICBteSBAaGFzaFZhbHVlMiA9ICgpOwogICAgICAgICBteSBAaGFz
aFNwZWNpYWxzID0gKCk7CisgICAgICAgIG15ICVjb25kaXRpb25hbHMgPSAoKTsKIAogICAgICAg
ICAjIEZJWE1FOiB3ZSBzaG91bGQgbm90IG5lZWQgYSBmdW5jdGlvbiBmb3IgZXZlcnkgY29uc3Rh
bnQuCiAgICAgICAgIGZvcmVhY2ggbXkgJGNvbnN0YW50IChAeyRkYXRhTm9kZS0+Y29uc3RhbnRz
fSkgewotICAgICAgICAgICAgcHVzaChAaGFzaEtleXMsICRjb25zdGFudC0+bmFtZSk7Ci0gICAg
ICAgICAgICBteSAkZ2V0dGVyID0gImpzIiAuICRpbnRlcmZhY2VOYW1lIC4gJGNvZGVHZW5lcmF0
b3ItPldLX3VjZmlyc3QoJGNvbnN0YW50LT5uYW1lKTsKKyAgICAgICAgICAgIG15ICRuYW1lID0g
JGNvbnN0YW50LT5uYW1lOworICAgICAgICAgICAgcHVzaChAaGFzaEtleXMsICRuYW1lKTsKKyAg
ICAgICAgICAgIG15ICRnZXR0ZXIgPSAianMiIC4gJGludGVyZmFjZU5hbWUgLiAkY29kZUdlbmVy
YXRvci0+V0tfdWNmaXJzdCgkbmFtZSk7CiAgICAgICAgICAgICBwdXNoKEBoYXNoVmFsdWUxLCAk
Z2V0dGVyKTsKICAgICAgICAgICAgIHB1c2goQGhhc2hWYWx1ZTIsICIwIik7CiAgICAgICAgICAg
ICBwdXNoKEBoYXNoU3BlY2lhbHMsICJEb250RGVsZXRlIHwgUmVhZE9ubHkiKTsKKworICAgICAg
ICAgICAgbXkgJGNvbmRpdGlvbmFsID0gJGNvbnN0YW50LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
Q29uZGl0aW9uYWwifTsKKyAgICAgICAgICAgIGlmICgkY29uZGl0aW9uYWwpIHsKKyAgICAgICAg
ICAgICAgICAkY29uZGl0aW9uYWxzeyRuYW1lfSA9ICRjb25kaXRpb25hbDsKKyAgICAgICAgICAg
IH0KICAgICAgICAgfQogCiAgICAgICAgICRvYmplY3QtPkdlbmVyYXRlSGFzaFRhYmxlKCRoYXNo
TmFtZSwgJGhhc2hTaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcQGhh
c2hLZXlzLCBcQGhhc2hTcGVjaWFscywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXEBoYXNoVmFsdWUxLCBcQGhhc2hWYWx1ZTIpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcQGhhc2hWYWx1ZTEsIFxAaGFzaFZhbHVlMiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXCVjb25kaXRpb25hbHMpOwogCiAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAkY29kZUdlbmVyYXRvci0+R2VuZXJhdGVDb21waWxlVGltZUNoZWNrRm9yRW51bXNJ
Zk5lZWRlZCgkZGF0YU5vZGUpKTsKIApAQCAtMTM5NCwxMSArMTM5NiwxNyBAQCBzdWIgR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbgogCiAgICAgIyBGSVhNRTogd2Ugc2hvdWxkIG5vdCBuZWVkIGEgZnVu
Y3Rpb24gZm9yIGV2ZXJ5IGNvbnN0YW50LgogICAgIGZvcmVhY2ggbXkgJGNvbnN0YW50IChAeyRk
YXRhTm9kZS0+Y29uc3RhbnRzfSkgewotICAgICAgICBwdXNoKEBoYXNoS2V5cywgJGNvbnN0YW50
LT5uYW1lKTsKLSAgICAgICAgbXkgJGdldHRlciA9ICJqcyIgLiAkaW50ZXJmYWNlTmFtZSAuICRj
b2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRjb25zdGFudC0+bmFtZSk7CisgICAgICAgIG15ICRu
YW1lID0gJGNvbnN0YW50LT5uYW1lOworICAgICAgICBwdXNoKEBoYXNoS2V5cywgJG5hbWUpOwor
ICAgICAgICBteSAkZ2V0dGVyID0gImpzIiAuICRpbnRlcmZhY2VOYW1lIC4gJGNvZGVHZW5lcmF0
b3ItPldLX3VjZmlyc3QoJG5hbWUpOwogICAgICAgICBwdXNoKEBoYXNoVmFsdWUxLCAkZ2V0dGVy
KTsKICAgICAgICAgcHVzaChAaGFzaFZhbHVlMiwgIjAiKTsKICAgICAgICAgcHVzaChAaGFzaFNw
ZWNpYWxzLCAiRG9udERlbGV0ZSB8IFJlYWRPbmx5Iik7CisKKyAgICAgICAgbXkgJGNvbmRpdGlv
bmFsID0gJGNvbnN0YW50LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uZGl0aW9uYWwifTsKKyAg
ICAgICAgaWYgKCRjb25kaXRpb25hbCkgeworICAgICAgICAgICAgJGNvbmRpdGlvbmFsc3skbmFt
ZX0gPSAkY29uZGl0aW9uYWw7CisgICAgICAgIH0KICAgICB9CiAKICAgICBmb3JlYWNoIG15ICRm
dW5jdGlvbiAoQHskZGF0YU5vZGUtPmZ1bmN0aW9uc30pIHsKQEAgLTE5ODMsNyArMTk5MSw3IEBA
IHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICAgICAgICAgIG15ICRjb25kaXRpb25h
bCA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uZGl0aW9u
YWwifTsKICAgICAgICAgICAgIGlmICgkY29uZGl0aW9uYWwpIHsKLSAgICAgICAgICAgICAgICBt
eSAkY29uZGl0aW9uYWxTdHJpbmcgPSBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nRnJvbUF0dHJp
YnV0ZVZhbHVlKCRjb25kaXRpb25hbCk7CisgICAgICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFs
U3RyaW5nID0gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0
cmlidXRlVmFsdWUoJGNvbmRpdGlvbmFsKTsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIik7CiAgICAgICAgICAgICB9CiAKQEAg
LTIwNTcsOSArMjA2NSw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAg
ICAgICAgR2VuZXJhdGVPdmVybG9hZGVkUHJvdG90eXBlRnVuY3Rpb24oJGZ1bmN0aW9uLCAkZGF0
YU5vZGUsICRpbXBsQ2xhc3NOYW1lKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYg
KCRjb25kaXRpb25hbCkgewotICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiI2Vu
ZGlmXG5cbiIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIjZW5kaWZcblxuIikgaWYgJGNvbmRpdGlvbmFsOwogICAgICAgICB9CiAgICAgICAgIAogICAg
ICAgICBpZiAoJG5lZWRzTWFya0NoaWxkcmVuICYmICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDdXN0b21NYXJrRnVuY3Rpb24ifSkgewpAQCAtMjA5Miw2ICsyMDk4LDEyIEBAIHN1
YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICAgICAgZm9yZWFjaCBteSAkY29uc3RhbnQg
KEB7JGRhdGFOb2RlLT5jb25zdGFudHN9KSB7CiAgICAgICAgICAgICBteSAkZ2V0dGVyID0gImpz
IiAuICRpbnRlcmZhY2VOYW1lIC4gJGNvZGVHZW5lcmF0b3ItPldLX3VjZmlyc3QoJGNvbnN0YW50
LT5uYW1lKTsKKyAgICAgICAgICAgIG15ICRjb25kaXRpb25hbCA9ICRjb25zdGFudC0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlvbmFsIn07CisKKyAgICAgICAgICAgIGlmICgkY29uZGl0
aW9uYWwpIHsKKyAgICAgICAgICAgICAgICBteSAkY29uZGl0aW9uYWxTdHJpbmcgPSAkY29kZUdl
bmVyYXRvci0+R2VuZXJhdGVDb25kaXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29u
ZGl0aW9uYWwpOworICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiI2lmICR7Y29u
ZGl0aW9uYWxTdHJpbmd9XG4iKTsKKyAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgIyBGSVhN
RTogdGhpcyBjYXN0cyBpbnRvIGludCB0byBtYXRjaCBvdXIgcHJldmlvdXMgYmVoYXZpb3Igd2hp
Y2ggdHVybmVkIDB4RkZGRkZGRkYgaW4gLTEgZm9yIE5vZGVGaWx0ZXIuU0hPV19BTEwKICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNWYWx1ZSAke2dldHRlcn0oRXhlY1N0YXRlKiBl
eGVjLCBKU1ZhbHVlLCBjb25zdCBJZGVudGlmaWVyJilcbiIpOwpAQCAtMjEwMyw2ICsyMTE1LDcg
QEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICByZXR1cm4ganNOdW1iZXIoc3RhdGljX2Nhc3Q8aW50PigiIC4gJGNvbnN0
YW50LT52YWx1ZSAuICIpKTtcbiIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICJ9XG5cbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIj
ZW5kaWZcbiIpIGlmICRjb25kaXRpb25hbDsKICAgICAgICAgfQogICAgIH0KIApAQCAtMzAzNyw3
ICszMDUwLDcgQEAgc3ViIEdlbmVyYXRlSGFzaFRhYmxlCiAgICAgICAgICAgICAkY29uZGl0aW9u
YWwgPSAkY29uZGl0aW9uYWxzLT57JGtleX07CiAgICAgICAgIH0KICAgICAgICAgaWYgKCRjb25k
aXRpb25hbCkgewotICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gR2VuZXJhdGVD
b25kaXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9uYWwpOworICAgICAg
ICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29u
ZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRpdGlvbmFsKTsKICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiI2lmICR7Y29uZGl0aW9uYWxTdHJpbmd9XG4iKTsKICAg
ICAgICAgfQogICAgICAgICAKQEAgLTMwNDcsOSArMzA2MCw3IEBAIHN1YiBHZW5lcmF0ZUhhc2hU
YWJsZQogICAgICAgICAgICAgJHRhcmdldFR5cGUgPSAic3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+IjsKICAgICAgICAgfQogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICB7IFwiJGtleVwiLCBAJHNwZWNpYWxzWyRpXSwgKGludHB0cl90KSIgLiAkdGFyZ2V0VHlw
ZSAuICIoQCR2YWx1ZTFbJGldKSwgKGludHB0cl90KUAkdmFsdWUyWyRpXSBUSFVOS19HRU5FUkFU
T1IoMCkgSU5UUklOU0lDKERGRzo6Tm9JbnRyaW5zaWMpIH0sXG4iKTsKLSAgICAgICAgaWYgKCRj
b25kaXRpb25hbCkgewotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIp
OwotICAgICAgICB9CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiI2VuZGlmXG4iKSBpZiAk
Y29uZGl0aW9uYWw7CiAgICAgICAgICsrJGk7CiAgICAgfQogICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIHsgMCwgMCwgMCwgMCBUSFVOS19HRU5FUkFUT1IoMCkgSU5UUklOU0lDKERGRzo6Tm9J
bnRyaW5zaWMpIH1cbiIpOwpAQCAtMzE0NSw3ICszMTU2LDcgQEAgc3ViIFdyaXRlRGF0YQogICAg
ICAgICAgICAgcHJpbnQgJElNUEwgIiNpbmNsdWRlICRpbmNsdWRlXG4iOwogICAgICAgICB9CiAg
ICAgICAgIGZvcmVhY2ggbXkgJGNvbmRpdGlvbiAoc29ydCBrZXlzICVpbXBsSW5jbHVkZUNvbmRp
dGlvbnMpIHsKLSAgICAgICAgICAgIHByaW50ICRJTVBMICJcbiNpZiAiIC4gR2VuZXJhdGVDb25k
aXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9uKSAuICJcbiI7CisgICAg
ICAgICAgICBwcmludCAkSU1QTCAiXG4jaWYgIiAuICRjb2RlR2VuZXJhdG9yLT5HZW5lcmF0ZUNv
bmRpdGlvbmFsU3RyaW5nRnJvbUF0dHJpYnV0ZVZhbHVlKCRjb25kaXRpb24pIC4gIlxuIjsKICAg
ICAgICAgICAgIGZvcmVhY2ggbXkgJGluY2x1ZGUgKHNvcnQgQHskaW1wbEluY2x1ZGVDb25kaXRp
b25zeyRjb25kaXRpb259fSkgewogICAgICAgICAgICAgICAgIHByaW50ICRJTVBMICIjaW5jbHVk
ZSAkaW5jbHVkZVxuIjsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCmluZGV4IGU2MzVmZTA2ZTgwODcx
ZGM2NjgxOTI3MDllMjlmMTE5NWExNzVhMWUuLjI3NDEwMjg5N2I1OTFmY2QwNDAxYmQ0ZjI3Zjcw
NDk0MjkxNzU5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvck9iakMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQpAQCAtNzMxLDE4ICs3MzEsMjkgQEAgc3ViIEdlbmVyYXRl
SGVhZGVyCiAgICAgIyAtIEFkZCBjb25zdGFudHMuCiAgICAgaWYgKCRudW1Db25zdGFudHMgPiAw
KSB7CiAgICAgICAgIG15IEBoZWFkZXJDb25zdGFudHMgPSAoKTsKKyAgICAgICAgbXkgQGNvbnN0
YW50cyA9IEB7JGRhdGFOb2RlLT5jb25zdGFudHN9OworICAgICAgICBteSAkY29tYmluZWRDb25z
dGFudHMgPSAiIjsKIAogICAgICAgICAjIEZJWE1FOiB3ZSBuZWVkIGEgd2F5IHRvIGluY2x1ZGUg
bXVsdGlwbGUgZW51bXMuCi0gICAgICAgIGZvcmVhY2ggbXkgJGNvbnN0YW50IChAeyRkYXRhTm9k
ZS0+Y29uc3RhbnRzfSkgeworICAgICAgICBmb3JlYWNoIG15ICRjb25zdGFudCAoQGNvbnN0YW50
cykgewogICAgICAgICAgICAgbXkgJGNvbnN0YW50TmFtZSA9ICRjb25zdGFudC0+bmFtZTsKICAg
ICAgICAgICAgIG15ICRjb25zdGFudFZhbHVlID0gJGNvbnN0YW50LT52YWx1ZTsKKyAgICAgICAg
ICAgIG15ICRjb25kaXRpb25hbCA9ICRjb25zdGFudC0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNv
bmRpdGlvbmFsIn07CisgICAgICAgICAgICBteSAkbm90TGFzdCA9ICRjb25zdGFudCBuZSAkY29u
c3RhbnRzWy0xXTsKIAotICAgICAgICAgICAgbXkgJG91dHB1dCA9ICIgICAgRE9NXyIgLiAkY29u
c3RhbnROYW1lIC4gIiA9ICIgLiAkY29uc3RhbnRWYWx1ZTsKLSAgICAgICAgICAgIHB1c2goQGhl
YWRlckNvbnN0YW50cywgJG91dHB1dCk7CisgICAgICAgICAgICBpZiAoJGNvbmRpdGlvbmFsKSB7
CisgICAgICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gJGNvZGVHZW5lcmF0b3It
PkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRpdGlvbmFs
KTsKKyAgICAgICAgICAgICAgICAkY29tYmluZWRDb25zdGFudHMgLj0gIiNpZiAke2NvbmRpdGlv
bmFsU3RyaW5nfVxuIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICRjb21iaW5lZENvbnN0
YW50cyAuPSAiICAgIERPTV8kY29uc3RhbnROYW1lID0gJGNvbnN0YW50VmFsdWUiOworICAgICAg
ICAgICAgJGNvbWJpbmVkQ29uc3RhbnRzIC49ICIsIiBpZiAkbm90TGFzdDsKKyAgICAgICAgICAg
IGlmICgkY29uZGl0aW9uYWwpIHsKKyAgICAgICAgICAgICAgICAkY29tYmluZWRDb25zdGFudHMg
Lj0gIlxuI2VuZGlmXG4iOworICAgICAgICAgICAgfSBlbHNpZiAoJG5vdExhc3QpIHsKKyAgICAg
ICAgICAgICAgICAkY29tYmluZWRDb25zdGFudHMgLj0gIlxuIjsKKyAgICAgICAgICAgIH0KICAg
ICAgICAgfQogCi0gICAgICAgIG15ICRjb21iaW5lZENvbnN0YW50cyA9IGpvaW4oIixcbiIsIEBo
ZWFkZXJDb25zdGFudHMpOwotCiAgICAgICAgICMgRklYTUU6IHRoZSBmb3JtYXR0aW5nIG9mIHRo
ZSBlbnVtcyBzaG91bGQgbGluZSB1cCB0aGUgZXF1YWwgc2lnbnMuCiAgICAgICAgICMgRklYTUU6
IGVudW1zIGFyZSB1bmNvbmRpdGlvbmFsbHkgcGxhY2VkIGluIHRoZSBwdWJsaWMgaGVhZGVyLgog
ICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiZW51bSB7XG4iKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggODBhOGJh
YmRhMmE1NTk1ODdlZWYwOWJlMDAwOWMzNTk4NGQ0ZWVkNy4uYTg2MGZkMWQ5NDZiNzI1MjAxYTE5
ZDUyODgxNmFhMmRmNGM0YTc1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTE4NywyNSArMTg3LDEyIEBAIHN1YiBBZGRJ
bmNsdWRlc0ZvclR5cGUKICAgICB9CiB9CiAKLSMgSWYgdGhlIG5vZGUgaGFzIGEgW0NvbmRpdGlv
bmFsPVhYWF0gYXR0cmlidXRlLCByZXR1cm5zIGFuICJFTkFCTEUoWFhYKSIgc3RyaW5nIGZvciB1
c2UgaW4gYW4gI2lmLgotc3ViIEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRl
VmFsdWUKLXsKLSAgICBteSAkY29uZGl0aW9uYWwgPSBzaGlmdDsKLSAgICBpZiAoJGNvbmRpdGlv
bmFsID1+IC8mLykgewotICAgICAgICByZXR1cm4gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFC
TEUoIiwgc3BsaXQoLyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKLSAgICB9IGVsc2lmICgkY29u
ZGl0aW9uYWwgPX4gL1x8LykgewotICAgICAgICByZXR1cm4gIkVOQUJMRSgiIC4gam9pbigiKSB8
fCBFTkFCTEUoIiwgc3BsaXQoL1x8LywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7Ci0gICAgfSBlbHNl
IHsKLSAgICAgICAgcmV0dXJuICJFTkFCTEUoIiAuICRjb25kaXRpb25hbCAuICIpIjsKLSAgICB9
Ci19Ci0KIHN1YiBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nCiB7CiAgICAgbXkgJG5vZGUgPSBz
aGlmdDsKICAgICBteSAkY29uZGl0aW9uYWwgPSAkbm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkNvbmRpdGlvbmFsIn07CiAgICAgaWYgKCRjb25kaXRpb25hbCkgewotICAgICAgICByZXR1cm4g
R2VuZXJhdGVDb25kaXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9uYWwp
OworICAgICAgICByZXR1cm4gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJp
bmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRpdGlvbmFsKTsKICAgICB9IGVsc2UgewogICAgICAg
ICByZXR1cm4gIiI7CiAgICAgfQpAQCAtMjM1NCwxNSArMjM0MSwyMSBAQCBFTkQKICAgICAgICAg
bXkgJG5hbWUgPSAkY29uc3RhbnQtPm5hbWU7CiAgICAgICAgIG15ICR2YWx1ZSA9ICRjb25zdGFu
dC0+dmFsdWU7CiAgICAgICAgIG15ICRhdHRyRXh0ID0gJGNvbnN0YW50LT5leHRlbmRlZEF0dHJp
YnV0ZXM7CisgICAgICAgIG15ICRjb25kaXRpb25hbCA9ICRhdHRyRXh0LT57IkNvbmRpdGlvbmFs
In07CiAgICAgICAgIGlmICgkYXR0ckV4dC0+eyJFbmFibGVkQXRSdW50aW1lIn0pIHsKICAgICAg
ICAgICAgIHB1c2goQGNvbnN0YW50c0VuYWJsZWRBdFJ1bnRpbWUsICRjb25zdGFudCk7CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAjIEZJWE1FOiB3ZSBuZWVkIHRoZSBzdGF0aWNfY2Fz
dCBoZXJlIG9ubHkgYmVjYXVzZSBvZiBvbmUgY29uc3RhbnQsIE5vZGVGaWx0ZXIuaWRsCiAgICAg
ICAgICAgICAjIGRlZmluZXMgImNvbnN0IHVuc2lnbmVkIGxvbmcgU0hPV19BTEwgPSAweEZGRkZG
RkZGIi4gIEl0IHdvdWxkIGJlIGJldHRlciBpZiB3ZQogICAgICAgICAgICAgIyBoYW5kbGVkIHRo
aXMgaGVyZSwgYW5kIGNvbnZlcnRlZCBpdCB0byBhIC0xIGNvbnN0YW50IGluIHRoZSBjKysgb3V0
cHV0LgorICAgICAgICAgICAgaWYgKCRjb25kaXRpb25hbCkgeworICAgICAgICAgICAgICAgIG15
ICRjb25kaXRpb25hbFN0cmluZyA9ICRjb2RlR2VuZXJhdG9yLT5HZW5lcmF0ZUNvbmRpdGlvbmFs
U3RyaW5nRnJvbUF0dHJpYnV0ZVZhbHVlKCRjb25kaXRpb25hbCk7CisgICAgICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cbiIpOworICAgICAg
ICAgICAgfQogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKICAgICB7IiR7
bmFtZX0iLCBzdGF0aWNfY2FzdDxzaWduZWQgaW50PigkdmFsdWUpfSwKIEVORAorICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIpIGlmICRjb25kaXRpb25hbDsKICAgICAg
ICAgfQogICAgIH0KICAgICBpZiAoJGhhc19jb25zdGFudHMpIHsKQEAgLTM3NjcsNyArMzc2MCw3
IEBAIHN1YiBXcml0ZURhdGEKICAgICAgICAgICAgIHByaW50ICRJTVBMICIjaW5jbHVkZSAkaW5j
bHVkZVxuIjsKICAgICAgICAgfQogICAgICAgICBmb3JlYWNoIG15ICRjb25kaXRpb24gKHNvcnQg
a2V5cyAlaW1wbEluY2x1ZGVDb25kaXRpb25zKSB7Ci0gICAgICAgICAgICBwcmludCAkSU1QTCAi
XG4jaWYgIiAuIEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJGNv
bmRpdGlvbikgLiAiXG4iOworICAgICAgICAgICAgcHJpbnQgJElNUEwgIlxuI2lmICIgLiAkY29k
ZUdlbmVyYXRvci0+R2VuZXJhdGVDb25kaXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgk
Y29uZGl0aW9uKSAuICJcbiI7CiAgICAgICAgICAgICBmb3JlYWNoIG15ICRpbmNsdWRlIChzb3J0
IEB7JGltcGxJbmNsdWRlQ29uZGl0aW9uc3skY29uZGl0aW9ufX0pIHsKICAgICAgICAgICAgICAg
ICBwcmludCAkSU1QTCAiI2luY2x1ZGUgJGluY2x1ZGVcbiI7CiAgICAgICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRl
c3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9N
VGVzdE9iai5oCmluZGV4IGM0YWJiM2M5NDA5ZjgxMzFlOWQ3NWFmMmVkY2M1NzNiNzUzMmFjZmMu
LjkyZDQ2OTYwMjE3MGRjNzIyMTc2YjYxNzE1MGI1ODA1NzAzNmFjYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9i
ai5oCkBAIC00OCw2ICs0OCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJET01UZXN0T2Jq
KCk7CiAKICAgICBlbnVtIHsKKyNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKKyAgICAgICAgV0VCRE9N
X0NPTkRJVElPTkFMX0NPTlNUID0gMCwKKyNlbmRpZgogICAgICAgICBXRUJET01fQ09OU1RfVkFM
VUVfMCA9IDAsCiAgICAgICAgIFdFQkRPTV9DT05TVF9WQUxVRV8xID0gMSwKICAgICAgICAgV0VC
RE9NX0NPTlNUX1ZBTFVFXzIgPSAyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCA2ZjQ4ODNlMDczMmQ1ODg4MDVi
MDdhZTY1OWFmYjUyMzdmOTk2YmFiLi42NzIxYWE2YzYyZDBmNmI2Y2UxM2RkNzEwNzM4MjRiYzg1
MDViYWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMTQ3LDYgKzE0Nyw5IEBAIHN0YXRpYyBjb25zdCBIYXNo
VGFibGUgSlNUZXN0T2JqVGFibGUgPSB7IDEzNSwgMTI3LCBKU1Rlc3RPYmpUYWJsZVZhbHVlcywg
MCB9OwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqQ29uc3RydWN0b3JU
YWJsZVZhbHVlc1tdID0KIHsKKyNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKKyAgICB7ICJDT05ESVRJ
T05BTF9DT05TVCIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05ESVRJT05BTF9DT05TVCks
IChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSBJTlRSSU5TSUMoREZHOjpOb0ludHJpbnNp
YykgfSwKKyNlbmRpZgogICAgIHsgIkNPTlNUX1ZBTFVFXzAiLCBEb250RGVsZXRlIHwgUmVhZE9u
bHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0T2JqQ09OU1RfVkFMVUVfMCksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSBJTlRS
SU5TSUMoREZHOjpOb0ludHJpbnNpYykgfSwKICAgICB7ICJDT05TVF9WQUxVRV8xIiwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5LCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdE9iakNPTlNUX1ZBTFVFXzEpLCAoaW50cHRyX3QpMCBUSFVOS19HRU5F
UkFUT1IoMCkgSU5UUklOU0lDKERGRzo6Tm9JbnRyaW5zaWMpIH0sCiAgICAgeyAiQ09OU1RfVkFM
VUVfMiIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDT05TVF9WQUxVRV8yKSwgKGludHB0cl90
KTAgVEhVTktfR0VORVJBVE9SKDApIElOVFJJTlNJQyhERkc6Ok5vSW50cmluc2ljKSB9LApAQCAt
MTY1LDYgKzE2OCw5IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpDb25z
dHJ1Y3RvclRhYmxlVmFsdWVzW10gPQogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgogc3RhdGljIGNv
bnN0IEhhc2hUYWJsZSBKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxlID0geyAzMywgMzEsIEpTVGVz
dE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKIAorI2lmIEVOQUJMRShDb25kaXRpb24x
KQorQ09NUElMRV9BU1NFUlQoMCA9PSBUZXN0T2JqOjpDT05ESVRJT05BTF9DT05TVCwgVGVzdE9i
akVudW1DT05ESVRJT05BTF9DT05TVElzV3JvbmdVc2VEb250Q2hlY2tFbnVtcyk7CisjZW5kaWYK
IENPTVBJTEVfQVNTRVJUKDAgPT0gVGVzdE9iajo6Q09OU1RfVkFMVUVfMCwgVGVzdE9iakVudW1D
T05TVF9WQUxVRV8wSXNXcm9uZ1VzZURvbnRDaGVja0VudW1zKTsKIENPTVBJTEVfQVNTRVJUKDEg
PT0gVGVzdE9iajo6Q09OU1RfVkFMVUVfMSwgVGVzdE9iakVudW1DT05TVF9WQUxVRV8xSXNXcm9u
Z1VzZURvbnRDaGVja0VudW1zKTsKIENPTVBJTEVfQVNTRVJUKDIgPT0gVGVzdE9iajo6Q09OU1Rf
VkFMVUVfMiwgVGVzdE9iakVudW1DT05TVF9WQUxVRV8ySXNXcm9uZ1VzZURvbnRDaGVja0VudW1z
KTsKQEAgLTIyOSw2ICsyMzUsOSBAQCBDb25zdHJ1Y3RUeXBlIEpTVGVzdE9iakNvbnN0cnVjdG9y
OjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbgogCiBzdGF0aWMg
Y29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiB7
CisjaWYgRU5BQkxFKENvbmRpdGlvbjEpCisgICAgeyAiQ09ORElUSU9OQUxfQ09OU1QiLCBEb250
RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqQ09ORElUSU9OQUxfQ09OU1QpLCAoaW50cHRyX3QpMCBUSFVO
S19HRU5FUkFUT1IoMCkgSU5UUklOU0lDKERGRzo6Tm9JbnRyaW5zaWMpIH0sCisjZW5kaWYKICAg
ICB7ICJDT05TVF9WQUxVRV8wIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5LCAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNPTlNUX1ZBTFVF
XzApLCAoaW50cHRyX3QpMCBUSFVOS19HRU5FUkFUT1IoMCkgSU5UUklOU0lDKERGRzo6Tm9JbnRy
aW5zaWMpIH0sCiAgICAgeyAiQ09OU1RfVkFMVUVfMSIsIERvbnREZWxldGUgfCBSZWFkT25seSwg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RP
YmpDT05TVF9WQUxVRV8xKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9SKDApIElOVFJJTlNJ
QyhERkc6Ok5vSW50cmluc2ljKSB9LAogICAgIHsgIkNPTlNUX1ZBTFVFXzIiLCBEb250RGVsZXRl
IHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0T2JqQ09OU1RfVkFMVUVfMiksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRP
UigwKSBJTlRSSU5TSUMoREZHOjpOb0ludHJpbnNpYykgfSwKQEAgLTE5MDgsNiArMTkxNywxNCBA
QCB2b2lkIEpTVGVzdE9iajo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9y
JiB2aXNpdG9yKQogCiAvLyBDb25zdGFudCBnZXR0ZXJzCiAKKyNpZiBFTkFCTEUoQ29uZGl0aW9u
MSkKK0pTVmFsdWUganNUZXN0T2JqQ09ORElUSU9OQUxfQ09OU1QoRXhlY1N0YXRlKiBleGVjLCBK
U1ZhbHVlLCBjb25zdCBJZGVudGlmaWVyJikKK3sKKyAgICBVTlVTRURfUEFSQU0oZXhlYyk7Cisg
ICAgcmV0dXJuIGpzTnVtYmVyKHN0YXRpY19jYXN0PGludD4oMCkpOworfQorCisjZW5kaWYKIEpT
VmFsdWUganNUZXN0T2JqQ09OU1RfVkFMVUVfMChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUsIGNv
bnN0IElkZW50aWZpZXImKQogewogICAgIFVOVVNFRF9QQVJBTShleGVjKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAppbmRleCAy
NTQ4MjcxNTlhNjVlM2QyY2FlYjMzOWVlODAzNzYwNjNjZTBiODIwLi45NGYwZDE1NjQ3ZDMxNWNh
ODU5YWFiZmVlZDJmNzQ3Y2ViZGIxZjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCkBAIC0yNjIsNiArMjYyLDkgQEAgSlND
OjpKU1ZhbHVlIGpzVGVzdE9iakhhc2goSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYKIEpTQzo6SlNWYWx1ZSBqc1Rlc3RPYmpDb25zdHJ1Y3RvcihK
U0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CiAv
LyBDb25zdGFudHMKIAorI2lmIEVOQUJMRShDb25kaXRpb24xKQorSlNDOjpKU1ZhbHVlIGpzVGVz
dE9iakNPTkRJVElPTkFMX0NPTlNUKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25z
dCBKU0M6OklkZW50aWZpZXImKTsKKyNlbmRpZgogSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakNPTlNU
X1ZBTFVFXzAoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRp
ZmllciYpOwogSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakNPTlNUX1ZBTFVFXzEoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwogSlNDOjpKU1ZhbHVl
IGpzVGVzdE9iakNPTlNUX1ZBTFVFXzIoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oCmluZGV4IDZkZDExZDQxN2JjMTdmNTEw
OWM2MmY4ZTIxNWFhZDU3ODNjNjkwZGYuLjE0ZmFkZWEyOTljZGIxOThlNGU5Y2U1Y2FiMDY2M2Rj
YjY0N2E4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKQEAgLTM5LDYgKzM5LDkgQEAKIEBwcm90b2NvbCBET01F
dmVudExpc3RlbmVyOwogCiBlbnVtIHsKKyNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKKyAgICBET01f
Q09ORElUSU9OQUxfQ09OU1QgPSAwLAorI2VuZGlmCiAgICAgRE9NX0NPTlNUX1ZBTFVFXzAgPSAw
LAogICAgIERPTV9DT05TVF9WQUxVRV8xID0gMSwKICAgICBET01fQ09OU1RfVkFMVUVfMiA9IDIs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9i
ai5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwK
aW5kZXggOTg2NGExYTMzY2I4MzQ1NzE5MTNiMjYyMTFiOTQ1ZTg0ZjljYWNmOC4uOWMzNzZhMjBh
YzljODgzMjJhMzhlZjVkYzUwZWY3NGJiN2FiZGY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMTQzLDYgKzE0Myw4IEBAIG1v
ZHVsZSB0ZXN0IHsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1Db25kaXRpb24xJkNv
bmRpdGlvbjJdIFRlc3RPYmplY3RCQ29uc3RydWN0b3IgY29uZGl0aW9uYWxBdHRyNTsKICAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1Db25kaXRpb24xfENvbmRpdGlvbjJdIFRlc3RPYmpl
Y3RDQ29uc3RydWN0b3IgY29uZGl0aW9uYWxBdHRyNjsKIAorICAgICAgICBjb25zdCBbQ29uZGl0
aW9uYWw9Q29uZGl0aW9uMV0gdW5zaWduZWQgc2hvcnQgQ09ORElUSU9OQUxfQ09OU1QgPSAwOwor
CiAjaWYgZGVmaW5lZChURVNUSU5HX1Y4KSB8fCBkZWZpbmVkKFRFU1RJTkdfSlMpCiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ2FjaGVkQXR0cmlidXRlXSBhbnkgY2FjaGVkQXR0cmlidXRl
MTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDYWNoZWRBdHRyaWJ1dGVdIGFueSBjYWNo
ZWRBdHRyaWJ1dGUyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCA2OGE5NWQ4OTZkZTI5MTJlNWRkYmJlMTI1OGYw
NTVjYzU1MTIyOGU5Li45MDhlNzVjMTM3ZjRkYjczOTc1MjdkN2ViM2Y4NWM5YjM5NzQxYjE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0T2JqLmNwcApAQCAtMTQ1MCw2ICsxNDUwLDkgQEAgc3RhdGljIGNvbnN0IEJhdGNoZWRDYWxs
YmFjayBUZXN0T2JqQ2FsbGJhY2tzW10gPSB7CiB9OwogCiBzdGF0aWMgY29uc3QgQmF0Y2hlZENv
bnN0YW50IFRlc3RPYmpDb25zdHNbXSA9IHsKKyNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKKyAgICB7
IkNPTkRJVElPTkFMX0NPTlNUIiwgc3RhdGljX2Nhc3Q8c2lnbmVkIGludD4oMCl9LAorI2VuZGlm
CiAgICAgeyJDT05TVF9WQUxVRV8wIiwgc3RhdGljX2Nhc3Q8c2lnbmVkIGludD4oMCl9LAogICAg
IHsiQ09OU1RfVkFMVUVfMSIsIHN0YXRpY19jYXN0PHNpZ25lZCBpbnQ+KDEpfSwKICAgICB7IkNP
TlNUX1ZBTFVFXzIiLCBzdGF0aWNfY2FzdDxzaWduZWQgaW50PigyKX0sCkBAIC0xNDY1LDYgKzE0
NjgsOSBAQCBzdGF0aWMgY29uc3QgQmF0Y2hlZENvbnN0YW50IFRlc3RPYmpDb25zdHNbXSA9IHsK
IH07CiAKIAorI2lmIEVOQUJMRShDb25kaXRpb24xKQorQ09NUElMRV9BU1NFUlQoMCA9PSBUZXN0
T2JqOjpDT05ESVRJT05BTF9DT05TVCwgVGVzdE9iakVudW1DT05ESVRJT05BTF9DT05TVElzV3Jv
bmdVc2VEb250Q2hlY2tFbnVtcyk7CisjZW5kaWYKIENPTVBJTEVfQVNTRVJUKDAgPT0gVGVzdE9i
ajo6Q09OU1RfVkFMVUVfMCwgVGVzdE9iakVudW1DT05TVF9WQUxVRV8wSXNXcm9uZ1VzZURvbnRD
aGVja0VudW1zKTsKIENPTVBJTEVfQVNTRVJUKDEgPT0gVGVzdE9iajo6Q09OU1RfVkFMVUVfMSwg
VGVzdE9iakVudW1DT05TVF9WQUxVRV8xSXNXcm9uZ1VzZURvbnRDaGVja0VudW1zKTsKIENPTVBJ
TEVfQVNTRVJUKDIgPT0gVGVzdE9iajo6Q09OU1RfVkFMVUVfMiwgVGVzdE9iakVudW1DT05TVF9W
QUxVRV8ySXNXcm9uZ1VzZURvbnRDaGVja0VudW1zKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>