<?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>106798</bug_id>
          
          <creation_ts>2013-01-14 08:06:13 -0800</creation_ts>
          <short_desc>ANGLE should build with -Wshorten-64-to-32</short_desc>
          <delta_ts>2013-01-15 10:57:48 -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>ANGLE</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>106274</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>kbr</cc>
    
    <cc>kling</cc>
    
    <cc>mvujovic</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>806358</commentid>
    <comment_count>0</comment_count>
      <attachid>182578</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-01-14 08:06:13 -0800</bug_when>
    <thetext>Created attachment 182578
Patch

&lt;http://webkit.org/b/000000&gt;

Reviewed by NOBODY (OOPS!).

* Configurations/Base.xcconfig: Enable -Wshorten-64-to-32 by
setting GCC_WARN_64_TO_32_BIT_CONVERSION to YES.
* src/compiler/MapLongVariableNames.cpp:
(LongNameMap::Size): Add static_cast&lt;int&gt;().
* src/compiler/ShaderLang.cpp: Ditto.
(getVariableInfo):
(ShGetInfo):
* src/compiler/ValidateLimitations.cpp:
(ValidateLimitations::validateFunctionCall): Change ParamIndex
from int to size_t.  Add static_cast&lt;int&gt;() when passing as
argument to getParam().
* src/compiler/glslang.l: Disable -Wshorten-64-to-32 by pragma.
* src/compiler/glslang_lex.cpp: Ditto.
* src/compiler/osinclude.h: Change type of OS_TLSIndex to
pthread_key_t.  Define OS_INVALID_TLS_INDEX by using
static_cast&lt;OS_TLSIndex&gt;(-1).
* src/compiler/preprocessor/new/Input.cpp:
(pp::Input::Input): Add static_cast&lt;int&gt;().
* src/compiler/preprocessor/new/Tokenizer.cpp: Disable
-Wshorten-64-to-32 by pragma.
* src/compiler/preprocessor/new/Tokenizer.l: Ditto.
* src/compiler/preprocessor/scanner.c:
(yylex_CPP): Add C-style (int) cast.
---
 12 files changed, 46 insertions(+), 10 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806359</commentid>
    <comment_count>1</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-14 08:08:14 -0800</bug_when>
    <thetext>Attachment 182578 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/ThirdParty/ANGLE/ChangeLog&apos;, u&apos;Sour...&quot; exit_code: 1
Source/ThirdParty/ANGLE/src/compiler/ShaderLang.cpp:65:  More than one command on the same line in if  [whitespace/parens] [4]
Source/ThirdParty/ANGLE/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/ThirdParty/ANGLE/src/compiler/osinclude.h:52:  OS_TLSIndex is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 3 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>806361</commentid>
    <comment_count>2</comment_count>
      <attachid>182578</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-14 08:11:49 -0800</bug_when>
    <thetext>Comment on attachment 182578
Patch

Attachment 182578 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15873495</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806363</commentid>
    <comment_count>3</comment_count>
      <attachid>182578</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-14 08:14:04 -0800</bug_when>
    <thetext>Comment on attachment 182578
Patch

Attachment 182578 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15873496</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806366</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-01-14 08:15:28 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 182578 [details])
&gt; Attachment 182578 [details] did not pass qt-ews (qt):
&gt; Output: http://queues.webkit.org/results/15873495

Qt&apos;s gcc doesn&apos;t know about -Wshorten-64-to-32?!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806368</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-01-14 08:16:46 -0800</bug_when>
    <thetext>&lt;rdar://problem/12551571&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806371</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-01-14 08:21:42 -0800</bug_when>
    <thetext>Filed upstream as ANGLE Issue 396:
&lt;http://code.google.com/p/angleproject/issues/detail?id=396&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806394</commentid>
    <comment_count>7</comment_count>
      <attachid>182587</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-01-14 08:57:59 -0800</bug_when>
    <thetext>Created attachment 182587
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806396</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-01-14 08:59:09 -0800</bug_when>
    <thetext>Most of the fixes were simply adding static_cast&lt;int&gt;() operators in C++ and one C-style (int) cast after enabling the warning flag.

However, this did find one issue with the OS_TLSIndex type on 64-bit systems like Mac OS X which could cause duplicate OS_TLSIndex keys to be used when the 64-bit values were truncated to 32-bit values.

OS_TLSIndex is defined as an unsigned int, but values of type pthread_key_t are assigned to it, and pthread_key_t is a 64-bit value on x86_64 but a 32-bit value on i386.

The obvious fix is to define OS_TLSIndex in terms of pthread_key_t:

-typedef unsigned int OS_TLSIndex;
-#define OS_INVALID_TLS_INDEX 0xFFFFFFFF
+typedef pthread_key_t OS_TLSIndex;
+#define OS_INVALID_TLS_INDEX (static_cast&lt;OS_TLSIndex&gt;(-1))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806398</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-14 09:00:19 -0800</bug_when>
    <thetext>Attachment 182587 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/ThirdParty/ANGLE/ChangeLog&apos;, u&apos;Sour...&quot; exit_code: 1
Source/ThirdParty/ANGLE/src/compiler/ShaderLang.cpp:65:  More than one command on the same line in if  [whitespace/parens] [4]
Source/ThirdParty/ANGLE/src/compiler/osinclude.h:52:  OS_TLSIndex is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 2 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>806438</commentid>
    <comment_count>10</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2013-01-14 10:04:22 -0800</bug_when>
    <thetext>Just a heads up- I&apos;m awaiting review on updating ANGLE to r1641 in bug 106274. I&apos;ll update my patch if this lands first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806478</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-01-14 11:11:27 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Just a heads up- I&apos;m awaiting review on updating ANGLE to r1641 in bug 106274. I&apos;ll update my patch if this lands first.

Thanks!  I&apos;m fine with Bug 106274 landing first as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806486</commentid>
    <comment_count>12</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2013-01-14 11:25:53 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; Just a heads up- I&apos;m awaiting review on updating ANGLE to r1641 in bug 106274. I&apos;ll update my patch if this lands first.
&gt; 
&gt; Thanks!  I&apos;m fine with Bug 106274 landing first as well.

Cool- thanks! I think it&apos;ll be a little easier to land the ANGLE update first if that&apos;s all right.

All of WebKit&apos;s ANGLE changes are currently upstreamed to ANGLE. After the update lands, we can start tracking the next set of changes (like this one) to be upstreamed in the ANGLE ChangeLog.

I&apos;ll ping Dean for a review of the ANGLE update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807014</commentid>
    <comment_count>13</comment_count>
      <attachid>182706</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-01-14 22:54:01 -0800</bug_when>
    <thetext>Created attachment 182706
Patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807015</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-14 22:56:11 -0800</bug_when>
    <thetext>Attachment 182706 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/ThirdParty/ANGLE/ChangeLog&apos;, u&apos;Sour...&quot; exit_code: 1
Source/ThirdParty/ANGLE/src/compiler/osinclude.h:47:  OS_TLSIndex is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 1 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>807384</commentid>
    <comment_count>15</comment_count>
      <attachid>182706</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-15 09:40:47 -0800</bug_when>
    <thetext>Comment on attachment 182706
Patch v3

Looks good to me. I&apos;ll help land your patch on ANGLE bug 396.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807459</commentid>
    <comment_count>16</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-01-15 10:54:45 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 182706 [details])
&gt; Looks good to me. I&apos;ll help land your patch on ANGLE bug 396.

Thanks Kenneth!  I know upstream ANGLE uses gyp, so the setting for GCC_WARN_64_TO_32_BIT_CONVERSION=YES will be in a different place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807460</commentid>
    <comment_count>17</comment_count>
      <attachid>182706</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-15 10:57:44 -0800</bug_when>
    <thetext>Comment on attachment 182706
Patch v3

Clearing flags on attachment: 182706

Committed r139758: &lt;http://trac.webkit.org/changeset/139758&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807461</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-15 10:57:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182578</attachid>
            <date>2013-01-14 08:06:13 -0800</date>
            <delta_ts>2013-01-14 08:57:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>20130114080313.patch</filename>
            <type>text/plain</type>
            <size>10584</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggY2Y3OWNhMDA1MDI5ZmQxYzNlYmVjODQyMGFlMzA0OTRiZDlhOGJhMi4uYzQ2OTdiNzg2NTg3
NmM3MjAxNmJmNzI4MjMyZDc4NWZhNTRlMWEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAxLTEzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQU5HTEUgc2hvdWxkIGJ1aWxkIHdpdGggLVdzaG9ydGVuLTY0
LXRvLTMyCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzAwMDAwMD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWc6IEVuYWJsZSAtV3Nob3J0ZW4tNjQtdG8tMzIgYnkKKyAgICAgICAgc2V0dGlu
ZyBHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiB0byBZRVMuCisgICAgICAgICogc3Jj
L2NvbXBpbGVyL01hcExvbmdWYXJpYWJsZU5hbWVzLmNwcDoKKyAgICAgICAgKExvbmdOYW1lTWFw
OjpTaXplKTogQWRkIHN0YXRpY19jYXN0PGludD4oKS4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIv
U2hhZGVyTGFuZy5jcHA6IERpdHRvLgorICAgICAgICAoZ2V0VmFyaWFibGVJbmZvKToKKyAgICAg
ICAgKFNoR2V0SW5mbyk6CisgICAgICAgICogc3JjL2NvbXBpbGVyL1ZhbGlkYXRlTGltaXRhdGlv
bnMuY3BwOgorICAgICAgICAoVmFsaWRhdGVMaW1pdGF0aW9uczo6dmFsaWRhdGVGdW5jdGlvbkNh
bGwpOiBDaGFuZ2UgUGFyYW1JbmRleAorICAgICAgICBmcm9tIGludCB0byBzaXplX3QuICBBZGQg
c3RhdGljX2Nhc3Q8aW50PigpIHdoZW4gcGFzc2luZyBhcworICAgICAgICBhcmd1bWVudCB0byBn
ZXRQYXJhbSgpLgorICAgICAgICAqIHNyYy9jb21waWxlci9nbHNsYW5nLmw6IERpc2FibGUgLVdz
aG9ydGVuLTY0LXRvLTMyIGJ5IHByYWdtYS4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIvZ2xzbGFu
Z19sZXguY3BwOiBEaXR0by4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIvb3NpbmNsdWRlLmg6IENo
YW5nZSB0eXBlIG9mIE9TX1RMU0luZGV4IHRvCisgICAgICAgIHB0aHJlYWRfa2V5X3QuICBEZWZp
bmUgT1NfSU5WQUxJRF9UTFNfSU5ERVggYnkgdXNpbmcKKyAgICAgICAgc3RhdGljX2Nhc3Q8T1Nf
VExTSW5kZXg+KC0xKS4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL25ldy9J
bnB1dC5jcHA6CisgICAgICAgIChwcDo6SW5wdXQ6OklucHV0KTogQWRkIHN0YXRpY19jYXN0PGlu
dD4oKS4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL25ldy9Ub2tlbml6ZXIu
Y3BwOiBEaXNhYmxlCisgICAgICAgIC1Xc2hvcnRlbi02NC10by0zMiBieSBwcmFnbWEuCisgICAg
ICAgICogc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9uZXcvVG9rZW5pemVyLmw6IERpdHRvLgor
ICAgICAgICAqIHNyYy9jb21waWxlci9wcmVwcm9jZXNzb3Ivc2Nhbm5lci5jOgorICAgICAgICAo
eXlsZXhfQ1BQKTogQWRkIEMtc3R5bGUgKGludCkgY2FzdC4KKwogMjAxMi0xMi0xOCAgTWF4IFZ1
am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CiAKICAgICAgICAgW0FOR0xFXSBVc2Ugb2YgdW5p
bml0aWFsaXplZCBtZW1vcnkgaW4gQXJyYXlCb3VuZHNDbGFtcGVyCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCA3NDJj
OGZjNGFmZjQ0ZDJmYTg5ZTQ4ZjBiNWZjMjQyMGNlOWRhMzY3Li5jYzkwNGU4NTI4OTcxYTgyOTJm
NWFkMzIzMTBiNzFjZThjYTUyY2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTE5LDYgKzE5LDcgQEAgR0NDX1NZ
TUJPTFNfUFJJVkFURV9FWFRFUk4gPSBOTzsKIEdDQ19USFJFQURTQUZFX1NUQVRJQ1MgPSBOTzsK
IEdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CiBHQ0NfVkVSU0lPTiA9IGNvbS5h
cHBsZS5jb21waWxlcnMubGx2bS5jbGFuZy4xXzA7CitHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09O
VkVSU0lPTiA9IFlFUzsKIEdDQ19XQVJOX0FCT1VUX0RFUFJFQ0FURURfRlVOQ1RJT05TID0gTk87
CiBHQ0NfV0FSTl9BQk9VVF9NSVNTSU5HX05FV0xJTkUgPSBZRVM7CiBMSU5LRVJfRElTUExBWVNf
TUFOR0xFRF9OQU1FUyA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci9NYXBMb25nVmFyaWFibGVOYW1lcy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvY29tcGlsZXIvTWFwTG9uZ1ZhcmlhYmxlTmFtZXMuY3BwCmluZGV4IGE1MDMx
MDE1NGQwNDU2YTYwOGU4MWMyNWFkMWJkMDczNmE5ZGIyNzEuLmJlYTg1Y2U4MmU0MmMxMWVmZmI0
N2YxMDA0M2ZjMWJlYzRkNThhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci9NYXBMb25nVmFyaWFibGVOYW1lcy5jcHAKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL01hcExvbmdWYXJpYWJsZU5hbWVzLmNwcApAQCAtNzIs
NyArNzIsNyBAQCB2b2lkIExvbmdOYW1lTWFwOjpJbnNlcnQoY29uc3QgY2hhciogb3JpZ2luYWxO
YW1lLCBjb25zdCBjaGFyKiBtYXBwZWROYW1lKQogCiBpbnQgTG9uZ05hbWVNYXA6OlNpemUoKSBj
b25zdAogewotICAgIHJldHVybiBtTG9uZ05hbWVNYXAuc2l6ZSgpOworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxpbnQ+KG1Mb25nTmFtZU1hcC5zaXplKCkpOwogfQogCiBNYXBMb25nVmFyaWFibGVO
YW1lczo6TWFwTG9uZ1ZhcmlhYmxlTmFtZXMoTG9uZ05hbWVNYXAqIGdsb2JhbE1hcCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9TaGFkZXJMYW5nLmNw
cCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9TaGFkZXJMYW5nLmNwcApp
bmRleCA1NmY1YzdmMmVjMDA3MjRiNjlhMjIwZTU2OGEwNzM0NmNiY2EzMGFiLi5kMTljY2E1YTQy
YjFiNzhkNDFkZjgzMmFlYzBjYjU1M2M4YWMxMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvU2hhZGVyTGFuZy5jcHAKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL1NoYWRlckxhbmcuY3BwCkBAIC02Miw3ICs2Miw3IEBA
IHN0YXRpYyB2b2lkIGdldFZhcmlhYmxlSW5mbyhTaFNoYWRlckluZm8gdmFyVHlwZSwKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgY29uc3QgVFZhcmlhYmxlSW5mbyYgdmFySW5mbyA9IHZhckxpc3Rb
aW5kZXhdOwotICAgIGlmIChsZW5ndGgpICpsZW5ndGggPSB2YXJJbmZvLm5hbWUuc2l6ZSgpOwor
ICAgIGlmIChsZW5ndGgpICpsZW5ndGggPSBzdGF0aWNfY2FzdDxpbnQ+KHZhckluZm8ubmFtZS5z
aXplKCkpOwogICAgICpzaXplID0gdmFySW5mby5zaXplOwogICAgICp0eXBlID0gdmFySW5mby50
eXBlOwogCkBAIC0yMDgsMTMgKzIwOCwxMyBAQCB2b2lkIFNoR2V0SW5mbyhjb25zdCBTaEhhbmRs
ZSBoYW5kbGUsIFNoU2hhZGVySW5mbyBwbmFtZSwgaW50KiBwYXJhbXMpCiAgICAgICAgICpwYXJh
bXMgPSBjb21waWxlci0+Z2V0SW5mb1NpbmsoKS5vYmouc2l6ZSgpICsgMTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBTSF9BQ1RJVkVfVU5JRk9STVM6Ci0gICAgICAgICpwYXJhbXMgPSBjb21w
aWxlci0+Z2V0VW5pZm9ybXMoKS5zaXplKCk7CisgICAgICAgICpwYXJhbXMgPSBzdGF0aWNfY2Fz
dDxpbnQ+KGNvbXBpbGVyLT5nZXRVbmlmb3JtcygpLnNpemUoKSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgU0hfQUNUSVZFX1VOSUZPUk1fTUFYX0xFTkdUSDoKICAgICAgICAgKnBhcmFtcyA9
IDEgKyAgTUFYX1NZTUJPTF9OQU1FX0xFTjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTSF9B
Q1RJVkVfQVRUUklCVVRFUzoKLSAgICAgICAgKnBhcmFtcyA9IGNvbXBpbGVyLT5nZXRBdHRyaWJz
KCkuc2l6ZSgpOworICAgICAgICAqcGFyYW1zID0gc3RhdGljX2Nhc3Q8aW50Pihjb21waWxlci0+
Z2V0QXR0cmlicygpLnNpemUoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0hfQUNUSVZF
X0FUVFJJQlVURV9NQVhfTEVOR1RIOgogICAgICAgICAqcGFyYW1zID0gMSArIE1BWF9TWU1CT0xf
TkFNRV9MRU47CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvVmFsaWRhdGVMaW1pdGF0aW9ucy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tcGlsZXIvVmFsaWRhdGVMaW1pdGF0aW9ucy5jcHAKaW5kZXggZDY5ZWM2YmJhYWE4MzU2NjNm
YjFiNTg0Y2QzZWVlOTFjNjQ1MTgzMi4uZmI5MzlhMThhYTk4NGIxOTYxMDEyMWMzZjRiYjg0OGY2
MzlkZDQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVy
L1ZhbGlkYXRlTGltaXRhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9jb21waWxlci9WYWxpZGF0ZUxpbWl0YXRpb25zLmNwcApAQCAtNDIxLDcgKzQyMSw3IEBAIGJv
b2wgVmFsaWRhdGVMaW1pdGF0aW9uczo6dmFsaWRhdGVGdW5jdGlvbkNhbGwoVEludGVybUFnZ3Jl
Z2F0ZSogbm9kZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICAvLyBMaXN0IG9mIHBhcmFt
IGluZGljZXMgZm9yIHdoaWNoIGxvb3AgaW5kaWNlcyBhcmUgdXNlZCBhcyBhcmd1bWVudC4KLSAg
ICB0eXBlZGVmIHN0ZDo6dmVjdG9yPGludD4gUGFyYW1JbmRleDsKKyAgICB0eXBlZGVmIHN0ZDo6
dmVjdG9yPHNpemVfdD4gUGFyYW1JbmRleDsKICAgICBQYXJhbUluZGV4IHBJbmRleDsKICAgICBU
SW50ZXJtU2VxdWVuY2UmIHBhcmFtcyA9IG5vZGUtPmdldFNlcXVlbmNlKCk7CiAgICAgZm9yIChU
SW50ZXJtU2VxdWVuY2U6OnNpemVfdHlwZSBpID0gMDsgaSA8IHBhcmFtcy5zaXplKCk7ICsraSkg
ewpAQCAtNDQxLDcgKzQ0MSw3IEBAIGJvb2wgVmFsaWRhdGVMaW1pdGF0aW9uczo6dmFsaWRhdGVG
dW5jdGlvbkNhbGwoVEludGVybUFnZ3JlZ2F0ZSogbm9kZSkKICAgICBURnVuY3Rpb24qIGZ1bmN0
aW9uID0gc3RhdGljX2Nhc3Q8VEZ1bmN0aW9uKj4oc3ltYm9sKTsKICAgICBmb3IgKFBhcmFtSW5k
ZXg6OmNvbnN0X2l0ZXJhdG9yIGkgPSBwSW5kZXguYmVnaW4oKTsKICAgICAgICAgIGkgIT0gcElu
ZGV4LmVuZCgpOyArK2kpIHsKLSAgICAgICAgY29uc3QgVFBhcmFtZXRlciYgcGFyYW0gPSBmdW5j
dGlvbi0+Z2V0UGFyYW0oKmkpOworICAgICAgICBjb25zdCBUUGFyYW1ldGVyJiBwYXJhbSA9IGZ1
bmN0aW9uLT5nZXRQYXJhbShzdGF0aWNfY2FzdDxpbnQ+KCppKSk7CiAgICAgICAgIFRRdWFsaWZp
ZXIgcXVhbCA9IHBhcmFtLnR5cGUtPmdldFF1YWxpZmllcigpOwogICAgICAgICBpZiAoKHF1YWwg
PT0gRXZxT3V0KSB8fCAocXVhbCA9PSBFdnFJbk91dCkpIHsKICAgICAgICAgICAgIGVycm9yKHBh
cmFtc1sqaV0tPmdldExpbmUoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci9nbHNsYW5nLmwgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29t
cGlsZXIvZ2xzbGFuZy5sCmluZGV4IGI5YTMwMmQ2OThiMGQ0ZjdhNTJhNjk3MTEyNTQ0NTAzZTBh
MmNlYTQuLjlmODBmNDg4MWRhZTcxYWMyZTI1MjNhZmVlZjRlYjU0M2YwNzYwZDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9nbHNsYW5nLmwKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL2dsc2xhbmcubApAQCAtMjYsNiAr
MjYsNyBAQCBXSElDSCBHRU5FUkFURVMgVEhFIEdMU0wgRVMgTEVYRVIgKGdsc2xhbmdfbGV4LmNw
cCkuCiAjaWYgZGVmaW5lZChfX0dOVUNfXykKICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3Jl
ZCAiLVd1bnVzZWQtZnVuY3Rpb24iCiAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1X
dW51c2VkLXZhcmlhYmxlIgorI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3Nob3J0
ZW4tNjQtdG8tMzIiCiAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3dpdGNoLWVu
dW0iCiAjZWxpZiBkZWZpbmVkKF9NU0NfVkVSKQogI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQw
NjUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvZ2xz
bGFuZ19sZXguY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL2dsc2xh
bmdfbGV4LmNwcAppbmRleCBhM2JmYTEzNDBjNmE1MTAxMDJkNWI3MjE0M2JlNmE0YTQxYjMzNjdm
Li43NmM0MjBlZmE4ZGExMmUzMTRjNThkY2FjYTU5MTQ1YWEwNmQwYWY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvZ2xzbGFuZ19sZXguY3BwCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9nbHNsYW5nX2xleC5jcHAKQEAg
LTExLDYgKzExLDcgQEAKICNpZiBkZWZpbmVkKF9fR05VQ19fKQogI3ByYWdtYSBHQ0MgZGlhZ25v
c3RpYyBpZ25vcmVkICItV3VudXNlZC1mdW5jdGlvbiIKICNwcmFnbWEgR0NDIGRpYWdub3N0aWMg
aWdub3JlZCAiLVd1bnVzZWQtdmFyaWFibGUiCisjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9y
ZWQgIi1Xc2hvcnRlbi02NC10by0zMiIKICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAi
LVdzd2l0Y2gtZW51bSIKICNlbGlmIGRlZmluZWQoX01TQ19WRVIpCiAjcHJhZ21hIHdhcm5pbmco
ZGlzYWJsZTogNDA2NSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9j
b21waWxlci9vc2luY2x1ZGUuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxl
ci9vc2luY2x1ZGUuaAppbmRleCAxZDk1OTA3Yjc5ZTMxYzQ5NDQ4MjlmNDZhNDdkODQ1YmQ3OTg3
ZTA3Li45NTQ3MDllMDE4NGZlNDAwZTY5OTk1ZmM2YzcxYmM0MzNhZjMzMDUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvb3NpbmNsdWRlLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL29zaW5jbHVkZS5oCkBAIC00OSw4
ICs0OSw4IEBAIHR5cGVkZWYgUFJVaW50biBPU19UTFNJbmRleDsKIHR5cGVkZWYgRFdPUkQgT1Nf
VExTSW5kZXg7CiAjZGVmaW5lIE9TX0lOVkFMSURfVExTX0lOREVYIChUTFNfT1VUX09GX0lOREVY
RVMpCiAjZWxpZiBkZWZpbmVkKEFOR0xFX09TX1BPU0lYKQotdHlwZWRlZiB1bnNpZ25lZCBpbnQg
T1NfVExTSW5kZXg7Ci0jZGVmaW5lIE9TX0lOVkFMSURfVExTX0lOREVYIDB4RkZGRkZGRkYKK3R5
cGVkZWYgcHRocmVhZF9rZXlfdCBPU19UTFNJbmRleDsKKyNkZWZpbmUgT1NfSU5WQUxJRF9UTFNf
SU5ERVggKHN0YXRpY19jYXN0PE9TX1RMU0luZGV4PigtMSkpCiAjZW5kaWYgIC8vIEFOR0xFX1VT
RV9OU1BSCiAKIE9TX1RMU0luZGV4IE9TX0FsbG9jVExTSW5kZXgoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvbmV3L0lucHV0
LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3Iv
bmV3L0lucHV0LmNwcAppbmRleCBjM2RlOTVmMzEzZDVkMTA5ZDUxMWQyNjM5M2I5NjQ4OGEzZGJh
OTE2Li44MGVjZWJhN2ZiMzJlYzRiMWVlM2RkMGM1YzgxYTZhYTY1MjY5MmQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL25ldy9J
bnB1dC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXBy
b2Nlc3Nvci9uZXcvSW5wdXQuY3BwCkBAIC0yNiw3ICsyNiw3IEBAIElucHV0OjpJbnB1dChpbnQg
Y291bnQsIGNvbnN0IGNoYXIqIGNvbnN0IHN0cmluZ1tdLCBjb25zdCBpbnQgbGVuZ3RoW10pIDoK
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1Db3VudDsgKytpKQogICAgIHsKICAgICAgICAgaW50
IGxlbiA9IGxlbmd0aCA/IGxlbmd0aFtpXSA6IC0xOwotICAgICAgICBtTGVuZ3RoLnB1c2hfYmFj
ayhsZW4gPCAwID8gc3RybGVuKG1TdHJpbmdbaV0pIDogbGVuKTsKKyAgICAgICAgbUxlbmd0aC5w
dXNoX2JhY2sobGVuIDwgMCA/IHN0YXRpY19jYXN0PGludD4oc3RybGVuKG1TdHJpbmdbaV0pKSA6
IGxlbik7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL25ldy9Ub2tlbml6ZXIuY3BwIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9uZXcvVG9rZW5pemVyLmNwcApp
bmRleCAzYmMzZDFjNGI2NDVhMmJiNmQ2YzAwYTkwODFiODM2OTZiMWVjNWM2Li4yOWYyYmQ0MWIy
MGFiNmFhM2M0ZGFhYzg5ODE3MzRjOGVjMWE1YWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL25ldy9Ub2tlbml6ZXIuY3BwCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvbmV3
L1Rva2VuaXplci5jcHAKQEAgLTUyMiw2ICs1MjIsNyBAQCBJRiBZT1UgTU9ESUZZIFRISVMgRklM
RSBZT1UgQUxTTyBORUVEIFRPIFJVTiBnZW5lcmF0ZV9wYXJzZXIuc2guCiAjaWYgZGVmaW5lZChf
X0dOVUNfXykKIC8vIFRyaWdnZXJlZCBieSB0aGUgYXV0by1nZW5lcmF0ZWQgeXlfZmF0YWxfZXJy
b3IgZnVuY3Rpb24uCiAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XbWlzc2luZy1u
b3JldHVybiIKKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdzaG9ydGVuLTY0LXRv
LTMyIgogI2VuZGlmCiAKIHR5cGVkZWYgc3RkOjpzdHJpbmcgWVlTVFlQRTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvbmV3L1Rv
a2VuaXplci5sIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nl
c3Nvci9uZXcvVG9rZW5pemVyLmwKaW5kZXggNDAxYzczMjViYzZjNGVhMTc4Y2ZjMzhmMWZiYzdk
OTZjYWE1OWQxNC4uZGQwMzk2NzUyYTY4NTYzY2EyNzNhZDJlODVhMzI3MjVkYjc5OTZlOCAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nv
ci9uZXcvVG9rZW5pemVyLmwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBp
bGVyL3ByZXByb2Nlc3Nvci9uZXcvVG9rZW5pemVyLmwKQEAgLTMxLDYgKzMxLDcgQEAgSUYgWU9V
IE1PRElGWSBUSElTIEZJTEUgWU9VIEFMU08gTkVFRCBUTyBSVU4gZ2VuZXJhdGVfcGFyc2VyLnNo
LgogI2lmIGRlZmluZWQoX19HTlVDX18pCiAvLyBUcmlnZ2VyZWQgYnkgdGhlIGF1dG8tZ2VuZXJh
dGVkIHl5X2ZhdGFsX2Vycm9yIGZ1bmN0aW9uLgogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25v
cmVkICItV21pc3Npbmctbm9yZXR1cm4iCisjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQg
Ii1Xc2hvcnRlbi02NC10by0zMiIKICNlbmRpZgogCiB0eXBlZGVmIHN0ZDo6c3RyaW5nIFlZU1RZ
UEU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJl
cHJvY2Vzc29yL3NjYW5uZXIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxl
ci9wcmVwcm9jZXNzb3Ivc2Nhbm5lci5jCmluZGV4IGZkZTg1M2MxZTBmMjgwMThhYWFiNDc2YThj
MzM3MzAzODQyODE4ZWIuLjNiYzU0ODQwZWZkMGRlODA4MzBmNjM1YjFkMDdjYzNhMWFhMmY0NGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9j
ZXNzb3Ivc2Nhbm5lci5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxl
ci9wcmVwcm9jZXNzb3Ivc2Nhbm5lci5jCkBAIC02NjUsNyArNjY1LDcgQEAgaW50IHl5bGV4X0NQ
UChjaGFyKiBidWYsIGludCBtYXhTaXplKQogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRva2Vu
U3RyaW5nKSB7Ci0gICAgICAgICAgICBpbnQgbGVuID0gc3RybGVuKHRva2VuU3RyaW5nKTsKKyAg
ICAgICAgICAgIGludCBsZW4gPSAoaW50KXN0cmxlbih0b2tlblN0cmluZyk7CiAgICAgICAgICAg
ICBjcHAtPnRva2Vuc0JlZm9yZUVPRiA9IDE7CiAgICAgICAgICAgICBpZiAobGVuID49IG1heFNp
emUpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gbWF4U2l6ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182587</attachid>
            <date>2013-01-14 08:57:59 -0800</date>
            <delta_ts>2013-01-14 22:53:59 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-106798-20130114085459.patch</filename>
            <type>text/plain</type>
            <size>11885</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggY2Y3OWNhMDA1MDI5ZmQxYzNlYmVjODQyMGFlMzA0OTRiZDlhOGJhMi4uZTYxMzEzMTlkZjc4
NjE4ZWZjOTM4YWMwZWRlNTc3ZjlhNzJhZWY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAxLTE0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQU5HTEUgc2hvdWxkIGJ1aWxkIHdpdGggLVdzaG9ydGVuLTY0
LXRvLTMyCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzEwNjc5OD4KKyAgICAgICAgPGh0
dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9hbmdsZXByb2plY3QvaXNzdWVzL2RldGFpbD9pZD0zOTY+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOiBFbmFibGUgLVdzaG9ydGVuLTY0LXRvLTMyIGJ5Cisg
ICAgICAgIHNldHRpbmcgR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gdG8gWUVTLgor
ICAgICAgICAqIHNyYy9jb21waWxlci9NYXBMb25nVmFyaWFibGVOYW1lcy5jcHA6CisgICAgICAg
IChMb25nTmFtZU1hcDo6U2l6ZSk6IEFkZCBzdGF0aWNfY2FzdDxpbnQ+KCkuCisgICAgICAgICog
c3JjL2NvbXBpbGVyL1NoYWRlckxhbmcuY3BwOiBEaXR0by4KKyAgICAgICAgKGdldFZhcmlhYmxl
SW5mbyk6CisgICAgICAgIChTaEdldEluZm8pOgorICAgICAgICAqIHNyYy9jb21waWxlci9WYWxp
ZGF0ZUxpbWl0YXRpb25zLmNwcDoKKyAgICAgICAgKFZhbGlkYXRlTGltaXRhdGlvbnM6OnZhbGlk
YXRlRnVuY3Rpb25DYWxsKTogQ2hhbmdlIFBhcmFtSW5kZXgKKyAgICAgICAgZnJvbSBpbnQgdG8g
c2l6ZV90LiAgQWRkIHN0YXRpY19jYXN0PGludD4oKSB3aGVuIHBhc3NpbmcgYXMKKyAgICAgICAg
YXJndW1lbnQgdG8gZ2V0UGFyYW0oKS4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIvZ2xzbGFuZy5s
OiBEaXNhYmxlIC1Xc2hvcnRlbi02NC10by0zMiBieSBwcmFnbWEuCisgICAgICAgIERpc2FibGUg
dW5rbm93biBwcmFnbWEgd2FybmluZ3MgZm9yIFF0IHBvcnQuCisgICAgICAgICogc3JjL2NvbXBp
bGVyL2dsc2xhbmdfbGV4LmNwcDogRGl0dG8uCisgICAgICAgICogc3JjL2NvbXBpbGVyL29zaW5j
bHVkZS5oOiBDaGFuZ2UgdHlwZSBvZiBPU19UTFNJbmRleCB0bworICAgICAgICBwdGhyZWFkX2tl
eV90LiAgRGVmaW5lIE9TX0lOVkFMSURfVExTX0lOREVYIGJ5IHVzaW5nCisgICAgICAgIHN0YXRp
Y19jYXN0PE9TX1RMU0luZGV4PigtMSkuCisgICAgICAgICogc3JjL2NvbXBpbGVyL3ByZXByb2Nl
c3Nvci9uZXcvSW5wdXQuY3BwOgorICAgICAgICAocHA6OklucHV0OjpJbnB1dCk6IEFkZCBzdGF0
aWNfY2FzdDxpbnQ+KCkuCisgICAgICAgICogc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9uZXcv
VG9rZW5pemVyLmNwcDogRGlzYWJsZQorICAgICAgICAtV3Nob3J0ZW4tNjQtdG8tMzIgYnkgcHJh
Z21hLiAgRGlzYWJsZSB1bmtub3duIHByYWdtYSB3YXJuaW5ncworICAgICAgICBmb3IgUXQgcG9y
dC4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL25ldy9Ub2tlbml6ZXIubDog
RGl0dG8uCisgICAgICAgICogc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9zY2FubmVyLmM6Cisg
ICAgICAgICh5eWxleF9DUFApOiBBZGQgQy1zdHlsZSAoaW50KSBjYXN0LgorCiAyMDEyLTEyLTE4
ICBNYXggVnVqb3ZpYyAgPG12dWpvdmljQGFkb2JlLmNvbT4KIAogICAgICAgICBbQU5HTEVdIFVz
ZSBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSBpbiBBcnJheUJvdW5kc0NsYW1wZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmlu
ZGV4IDc0MmM4ZmM0YWZmNDRkMmZhODllNDhmMGI1ZmMyNDIwY2U5ZGEzNjcuLmNjOTA0ZTg1Mjg5
NzFhODI5MmY1YWQzMjMxMGI3MWNlOGNhNTJjZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMTksNiArMTksNyBA
QCBHQ0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiA9IE5POwogR0NDX1RIUkVBRFNBRkVfU1RBVElD
UyA9IE5POwogR0NDX1RSRUFUX1dBUk5JTkdTX0FTX0VSUk9SUyA9IFlFUzsKIEdDQ19WRVJTSU9O
ID0gY29tLmFwcGxlLmNvbXBpbGVycy5sbHZtLmNsYW5nLjFfMDsKK0dDQ19XQVJOXzY0X1RPXzMy
X0JJVF9DT05WRVJTSU9OID0gWUVTOwogR0NDX1dBUk5fQUJPVVRfREVQUkVDQVRFRF9GVU5DVElP
TlMgPSBOTzsKIEdDQ19XQVJOX0FCT1VUX01JU1NJTkdfTkVXTElORSA9IFlFUzsKIExJTktFUl9E
SVNQTEFZU19NQU5HTEVEX05BTUVTID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2NvbXBpbGVyL01hcExvbmdWYXJpYWJsZU5hbWVzLmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9NYXBMb25nVmFyaWFibGVOYW1lcy5jcHAKaW5k
ZXggYTUwMzEwMTU0ZDA0NTZhNjA4ZTgxYzI1YWQxYmQwNzM2YTlkYjI3MS4uYmVhODVjZTgyZTQy
YzExZWZmYjQ3ZjEwMDQzZmMxYmVjNGQ1OGE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2NvbXBpbGVyL01hcExvbmdWYXJpYWJsZU5hbWVzLmNwcAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvTWFwTG9uZ1ZhcmlhYmxlTmFtZXMuY3Bw
CkBAIC03Miw3ICs3Miw3IEBAIHZvaWQgTG9uZ05hbWVNYXA6Okluc2VydChjb25zdCBjaGFyKiBv
cmlnaW5hbE5hbWUsIGNvbnN0IGNoYXIqIG1hcHBlZE5hbWUpCiAKIGludCBMb25nTmFtZU1hcDo6
U2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1Mb25nTmFtZU1hcC5zaXplKCk7CisgICAgcmV0
dXJuIHN0YXRpY19jYXN0PGludD4obUxvbmdOYW1lTWFwLnNpemUoKSk7CiB9CiAKIE1hcExvbmdW
YXJpYWJsZU5hbWVzOjpNYXBMb25nVmFyaWFibGVOYW1lcyhMb25nTmFtZU1hcCogZ2xvYmFsTWFw
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL1NoYWRl
ckxhbmcuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL1NoYWRlckxh
bmcuY3BwCmluZGV4IDU2ZjVjN2YyZWMwMDcyNGI2OWEyMjBlNTY4YTA3MzQ2Y2JjYTMwYWIuLmQx
OWNjYTVhNDJiMWI3OGQ0MWRmODMyYWVjMGNiNTUzYzhhYzExZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9TaGFkZXJMYW5nLmNwcAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvU2hhZGVyTGFuZy5jcHAKQEAgLTYyLDcg
KzYyLDcgQEAgc3RhdGljIHZvaWQgZ2V0VmFyaWFibGVJbmZvKFNoU2hhZGVySW5mbyB2YXJUeXBl
LAogICAgICAgICByZXR1cm47CiAKICAgICBjb25zdCBUVmFyaWFibGVJbmZvJiB2YXJJbmZvID0g
dmFyTGlzdFtpbmRleF07Ci0gICAgaWYgKGxlbmd0aCkgKmxlbmd0aCA9IHZhckluZm8ubmFtZS5z
aXplKCk7CisgICAgaWYgKGxlbmd0aCkgKmxlbmd0aCA9IHN0YXRpY19jYXN0PGludD4odmFySW5m
by5uYW1lLnNpemUoKSk7CiAgICAgKnNpemUgPSB2YXJJbmZvLnNpemU7CiAgICAgKnR5cGUgPSB2
YXJJbmZvLnR5cGU7CiAKQEAgLTIwOCwxMyArMjA4LDEzIEBAIHZvaWQgU2hHZXRJbmZvKGNvbnN0
IFNoSGFuZGxlIGhhbmRsZSwgU2hTaGFkZXJJbmZvIHBuYW1lLCBpbnQqIHBhcmFtcykKICAgICAg
ICAgKnBhcmFtcyA9IGNvbXBpbGVyLT5nZXRJbmZvU2luaygpLm9iai5zaXplKCkgKyAxOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFNIX0FDVElWRV9VTklGT1JNUzoKLSAgICAgICAgKnBhcmFt
cyA9IGNvbXBpbGVyLT5nZXRVbmlmb3JtcygpLnNpemUoKTsKKyAgICAgICAgKnBhcmFtcyA9IHN0
YXRpY19jYXN0PGludD4oY29tcGlsZXItPmdldFVuaWZvcm1zKCkuc2l6ZSgpKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBTSF9BQ1RJVkVfVU5JRk9STV9NQVhfTEVOR1RIOgogICAgICAgICAq
cGFyYW1zID0gMSArICBNQVhfU1lNQk9MX05BTUVfTEVOOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFNIX0FDVElWRV9BVFRSSUJVVEVTOgotICAgICAgICAqcGFyYW1zID0gY29tcGlsZXItPmdl
dEF0dHJpYnMoKS5zaXplKCk7CisgICAgICAgICpwYXJhbXMgPSBzdGF0aWNfY2FzdDxpbnQ+KGNv
bXBpbGVyLT5nZXRBdHRyaWJzKCkuc2l6ZSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBT
SF9BQ1RJVkVfQVRUUklCVVRFX01BWF9MRU5HVEg6CiAgICAgICAgICpwYXJhbXMgPSAxICsgTUFY
X1NZTUJPTF9OQU1FX0xFTjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9jb21waWxlci9WYWxpZGF0ZUxpbWl0YXRpb25zLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9jb21waWxlci9WYWxpZGF0ZUxpbWl0YXRpb25zLmNwcAppbmRleCBkNjllYzZiYmFh
YTgzNTY2M2ZiMWI1ODRjZDNlZWU5MWM2NDUxODMyLi5mYjkzOWExOGFhOTg0YjE5NjEwMTIxYzNm
NGJiODQ4ZjYzOWRkNDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tcGlsZXIvVmFsaWRhdGVMaW1pdGF0aW9ucy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2NvbXBpbGVyL1ZhbGlkYXRlTGltaXRhdGlvbnMuY3BwCkBAIC00MjEsNyArNDIx
LDcgQEAgYm9vbCBWYWxpZGF0ZUxpbWl0YXRpb25zOjp2YWxpZGF0ZUZ1bmN0aW9uQ2FsbChUSW50
ZXJtQWdncmVnYXRlKiBub2RlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIC8vIExpc3Qg
b2YgcGFyYW0gaW5kaWNlcyBmb3Igd2hpY2ggbG9vcCBpbmRpY2VzIGFyZSB1c2VkIGFzIGFyZ3Vt
ZW50LgotICAgIHR5cGVkZWYgc3RkOjp2ZWN0b3I8aW50PiBQYXJhbUluZGV4OworICAgIHR5cGVk
ZWYgc3RkOjp2ZWN0b3I8c2l6ZV90PiBQYXJhbUluZGV4OwogICAgIFBhcmFtSW5kZXggcEluZGV4
OwogICAgIFRJbnRlcm1TZXF1ZW5jZSYgcGFyYW1zID0gbm9kZS0+Z2V0U2VxdWVuY2UoKTsKICAg
ICBmb3IgKFRJbnRlcm1TZXF1ZW5jZTo6c2l6ZV90eXBlIGkgPSAwOyBpIDwgcGFyYW1zLnNpemUo
KTsgKytpKSB7CkBAIC00NDEsNyArNDQxLDcgQEAgYm9vbCBWYWxpZGF0ZUxpbWl0YXRpb25zOjp2
YWxpZGF0ZUZ1bmN0aW9uQ2FsbChUSW50ZXJtQWdncmVnYXRlKiBub2RlKQogICAgIFRGdW5jdGlv
biogZnVuY3Rpb24gPSBzdGF0aWNfY2FzdDxURnVuY3Rpb24qPihzeW1ib2wpOwogICAgIGZvciAo
UGFyYW1JbmRleDo6Y29uc3RfaXRlcmF0b3IgaSA9IHBJbmRleC5iZWdpbigpOwogICAgICAgICAg
aSAhPSBwSW5kZXguZW5kKCk7ICsraSkgewotICAgICAgICBjb25zdCBUUGFyYW1ldGVyJiBwYXJh
bSA9IGZ1bmN0aW9uLT5nZXRQYXJhbSgqaSk7CisgICAgICAgIGNvbnN0IFRQYXJhbWV0ZXImIHBh
cmFtID0gZnVuY3Rpb24tPmdldFBhcmFtKHN0YXRpY19jYXN0PGludD4oKmkpKTsKICAgICAgICAg
VFF1YWxpZmllciBxdWFsID0gcGFyYW0udHlwZS0+Z2V0UXVhbGlmaWVyKCk7CiAgICAgICAgIGlm
ICgocXVhbCA9PSBFdnFPdXQpIHx8IChxdWFsID09IEV2cUluT3V0KSkgewogICAgICAgICAgICAg
ZXJyb3IocGFyYW1zWyppXS0+Z2V0TGluZSgpLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2NvbXBpbGVyL2dsc2xhbmcubCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci9nbHNsYW5nLmwKaW5kZXggYjlhMzAyZDY5OGIwZDRmN2E1MmE2OTcxMTI1
NDQ1MDNlMGEyY2VhNC4uOGU1MDkwZDZiZjk5ODRhZTA5YzY3MGQyM2UzZjI0NDA3M2ViMDQzNyAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL2dsc2xhbmcu
bAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvZ2xzbGFuZy5sCkBA
IC0yNCw5ICsyNCwxNCBAQCBXSElDSCBHRU5FUkFURVMgVEhFIEdMU0wgRVMgTEVYRVIgKGdsc2xh
bmdfbGV4LmNwcCkuCiAKIC8vIElnbm9yZSBlcnJvcnMgaW4gYXV0by1nZW5lcmF0ZWQgY29kZS4K
ICNpZiBkZWZpbmVkKF9fR05VQ19fKQorLy8gVG9nZ2xlIHRoZSB3YXJuaW5nIGZvciAtV3ByYWdt
YXMgdG8gZW5zdXJlIHdlIGRvIG5vdCBicmVhayB0aGUgYnVpbGQKKy8vIHdpdGggZWFybGllciBj
b21waWxlciB2ZXJzaW9ucyBiZWNhdXNlIG9mIHVua25vd24gcHJhZ21hIG9wdGlvbnMuCisjcHJh
Z21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcHJhZ21hcyIKICNwcmFnbWEgR0NDIGRpYWdu
b3N0aWMgaWdub3JlZCAiLVd1bnVzZWQtZnVuY3Rpb24iCiAjcHJhZ21hIEdDQyBkaWFnbm9zdGlj
IGlnbm9yZWQgIi1XdW51c2VkLXZhcmlhYmxlIgorI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25v
cmVkICItV3Nob3J0ZW4tNjQtdG8tMzIiCiAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQg
Ii1Xc3dpdGNoLWVudW0iCisjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHdhcm5pbmcgIi1XcHJhZ21h
cyIKICNlbGlmIGRlZmluZWQoX01TQ19WRVIpCiAjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTogNDA2
NSkKICNwcmFnbWEgd2FybmluZyhkaXNhYmxlOiA0MTg5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL2dsc2xhbmdfbGV4LmNwcCBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9nbHNsYW5nX2xleC5jcHAKaW5kZXggYTNiZmExMzQw
YzZhNTEwMTAyZDViNzIxNDNiZTZhNGE0MWIzMzY3Zi4uNTMzMDJhY2IyOTUwYjkwYWIwMTQ4ODQy
MDI0NGZhZTM3OGM0MDBjYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL2dsc2xhbmdfbGV4LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvY29tcGlsZXIvZ2xzbGFuZ19sZXguY3BwCkBAIC05LDkgKzksMTQgQEAKIAogLy8gSWdub3Jl
IGVycm9ycyBpbiBhdXRvLWdlbmVyYXRlZCBjb2RlLgogI2lmIGRlZmluZWQoX19HTlVDX18pCisv
LyBUb2dnbGUgdGhlIHdhcm5pbmcgZm9yIC1XcHJhZ21hcyB0byBlbnN1cmUgd2UgZG8gbm90IGJy
ZWFrIHRoZSBidWlsZAorLy8gd2l0aCBlYXJsaWVyIGNvbXBpbGVyIHZlcnNpb25zIGJlY2F1c2Ug
b2YgdW5rbm93biBwcmFnbWEgb3B0aW9ucy4KKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3Jl
ZCAiLVdwcmFnbWFzIgogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3VudXNlZC1m
dW5jdGlvbiIKICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1bnVzZWQtdmFyaWFi
bGUiCisjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc2hvcnRlbi02NC10by0zMiIK
ICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdzd2l0Y2gtZW51bSIKKyNwcmFnbWEg
R0NDIGRpYWdub3N0aWMgd2FybmluZyAiLVdwcmFnbWFzIgogI2VsaWYgZGVmaW5lZChfTVNDX1ZF
UikKICNwcmFnbWEgd2FybmluZyhkaXNhYmxlOiA0MDY1KQogI3ByYWdtYSB3YXJuaW5nKGRpc2Fi
bGU6IDQxODkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvb3NpbmNsdWRlLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvb3Np
bmNsdWRlLmgKaW5kZXggMWQ5NTkwN2I3OWUzMWM0OTQ0ODI5ZjQ2YTQ3ZDg0NWJkNzk4N2UwNy4u
OTU0NzA5ZTAxODRmZTQwMGU2OTk5NWZjNmM3MWJjNDMzYWYzMzA1MCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL29zaW5jbHVkZS5oCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9vc2luY2x1ZGUuaApAQCAtNDksOCArNDks
OCBAQCB0eXBlZGVmIFBSVWludG4gT1NfVExTSW5kZXg7CiB0eXBlZGVmIERXT1JEIE9TX1RMU0lu
ZGV4OwogI2RlZmluZSBPU19JTlZBTElEX1RMU19JTkRFWCAoVExTX09VVF9PRl9JTkRFWEVTKQog
I2VsaWYgZGVmaW5lZChBTkdMRV9PU19QT1NJWCkKLXR5cGVkZWYgdW5zaWduZWQgaW50IE9TX1RM
U0luZGV4OwotI2RlZmluZSBPU19JTlZBTElEX1RMU19JTkRFWCAweEZGRkZGRkZGCit0eXBlZGVm
IHB0aHJlYWRfa2V5X3QgT1NfVExTSW5kZXg7CisjZGVmaW5lIE9TX0lOVkFMSURfVExTX0lOREVY
IChzdGF0aWNfY2FzdDxPU19UTFNJbmRleD4oLTEpKQogI2VuZGlmICAvLyBBTkdMRV9VU0VfTlNQ
UgogCiBPU19UTFNJbmRleCBPU19BbGxvY1RMU0luZGV4KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL25ldy9JbnB1dC5jcHAg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL25ldy9J
bnB1dC5jcHAKaW5kZXggYzNkZTk1ZjMxM2Q1ZDEwOWQ1MTFkMjYzOTNiOTY0ODhhM2RiYTkxNi4u
ODBlY2ViYTdmYjMyZWM0YjFlZTNkZDBjNWM4MWE2YWE2NTI2OTJkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9uZXcvSW5wdXQu
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNz
b3IvbmV3L0lucHV0LmNwcApAQCAtMjYsNyArMjYsNyBAQCBJbnB1dDo6SW5wdXQoaW50IGNvdW50
LCBjb25zdCBjaGFyKiBjb25zdCBzdHJpbmdbXSwgY29uc3QgaW50IGxlbmd0aFtdKSA6CiAgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBtQ291bnQ7ICsraSkKICAgICB7CiAgICAgICAgIGludCBsZW4g
PSBsZW5ndGggPyBsZW5ndGhbaV0gOiAtMTsKLSAgICAgICAgbUxlbmd0aC5wdXNoX2JhY2sobGVu
IDwgMCA/IHN0cmxlbihtU3RyaW5nW2ldKSA6IGxlbik7CisgICAgICAgIG1MZW5ndGgucHVzaF9i
YWNrKGxlbiA8IDAgPyBzdGF0aWNfY2FzdDxpbnQ+KHN0cmxlbihtU3RyaW5nW2ldKSkgOiBsZW4p
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2Nv
bXBpbGVyL3ByZXByb2Nlc3Nvci9uZXcvVG9rZW5pemVyLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvbmV3L1Rva2VuaXplci5jcHAKaW5kZXgg
M2JjM2QxYzRiNjQ1YTJiYjZkNmMwMGE5MDgxYjgzNjk2YjFlYzVjNi4uZjQ4MzAyNmY2YjlkNWZk
OTA5ZWIzZmFlMTcwN2UxZjc5ZDAzMmVjYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9uZXcvVG9rZW5pemVyLmNwcAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL25ldy9Ub2tl
bml6ZXIuY3BwCkBAIC01MjAsOCArNTIwLDEzIEBAIElGIFlPVSBNT0RJRlkgVEhJUyBGSUxFIFlP
VSBBTFNPIE5FRUQgVE8gUlVOIGdlbmVyYXRlX3BhcnNlci5zaC4KICNpbmNsdWRlICJUb2tlbi5o
IgogCiAjaWYgZGVmaW5lZChfX0dOVUNfXykKKy8vIFRvZ2dsZSB0aGUgd2FybmluZyBmb3IgLVdw
cmFnbWFzIHRvIGVuc3VyZSB3ZSBkbyBub3QgYnJlYWsgdGhlIGJ1aWxkCisvLyB3aXRoIGVhcmxp
ZXIgY29tcGlsZXIgdmVyc2lvbnMgYmVjYXVzZSBvZiB1bmtub3duIHByYWdtYSBvcHRpb25zLgor
I3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3ByYWdtYXMiCiAvLyBUcmlnZ2VyZWQg
YnkgdGhlIGF1dG8tZ2VuZXJhdGVkIHl5X2ZhdGFsX2Vycm9yIGZ1bmN0aW9uLgogI3ByYWdtYSBH
Q0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV21pc3Npbmctbm9yZXR1cm4iCisjcHJhZ21hIEdDQyBk
aWFnbm9zdGljIGlnbm9yZWQgIi1Xc2hvcnRlbi02NC10by0zMiIKKyNwcmFnbWEgR0NDIGRpYWdu
b3N0aWMgd2FybmluZyAiLVdwcmFnbWFzIgogI2VuZGlmCiAKIHR5cGVkZWYgc3RkOjpzdHJpbmcg
WVlTVFlQRTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxl
ci9wcmVwcm9jZXNzb3IvbmV3L1Rva2VuaXplci5sIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9uZXcvVG9rZW5pemVyLmwKaW5kZXggNDAxYzczMjVi
YzZjNGVhMTc4Y2ZjMzhmMWZiYzdkOTZjYWE1OWQxNC4uNDc0M2VjZTVlNzU1ZGM0OWY1MWVhODE2
NmIzMDYxZjI3ZWUxODhkZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9uZXcvVG9rZW5pemVyLmwKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9uZXcvVG9rZW5pemVyLmwKQEAg
LTI5LDggKzI5LDEzIEBAIElGIFlPVSBNT0RJRlkgVEhJUyBGSUxFIFlPVSBBTFNPIE5FRUQgVE8g
UlVOIGdlbmVyYXRlX3BhcnNlci5zaC4KICNpbmNsdWRlICJUb2tlbi5oIgogCiAjaWYgZGVmaW5l
ZChfX0dOVUNfXykKKy8vIFRvZ2dsZSB0aGUgd2FybmluZyBmb3IgLVdwcmFnbWFzIHRvIGVuc3Vy
ZSB3ZSBkbyBub3QgYnJlYWsgdGhlIGJ1aWxkCisvLyB3aXRoIGVhcmxpZXIgY29tcGlsZXIgdmVy
c2lvbnMgYmVjYXVzZSBvZiB1bmtub3duIHByYWdtYSBvcHRpb25zLgorI3ByYWdtYSBHQ0MgZGlh
Z25vc3RpYyBpZ25vcmVkICItV3ByYWdtYXMiCiAvLyBUcmlnZ2VyZWQgYnkgdGhlIGF1dG8tZ2Vu
ZXJhdGVkIHl5X2ZhdGFsX2Vycm9yIGZ1bmN0aW9uLgogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBp
Z25vcmVkICItV21pc3Npbmctbm9yZXR1cm4iCisjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9y
ZWQgIi1Xc2hvcnRlbi02NC10by0zMiIKKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgd2FybmluZyAi
LVdwcmFnbWFzIgogI2VuZGlmCiAKIHR5cGVkZWYgc3RkOjpzdHJpbmcgWVlTVFlQRTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3Iv
c2Nhbm5lci5jIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nl
c3Nvci9zY2FubmVyLmMKaW5kZXggZmRlODUzYzFlMGYyODAxOGFhYWI0NzZhOGMzMzczMDM4NDI4
MThlYi4uM2JjNTQ4NDBlZmQwZGU4MDgzMGY2MzViMWQwN2NjM2ExYWEyZjQ0ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9zY2Fu
bmVyLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nl
c3Nvci9zY2FubmVyLmMKQEAgLTY2NSw3ICs2NjUsNyBAQCBpbnQgeXlsZXhfQ1BQKGNoYXIqIGJ1
ZiwgaW50IG1heFNpemUpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAodG9rZW5TdHJpbmcpIHsK
LSAgICAgICAgICAgIGludCBsZW4gPSBzdHJsZW4odG9rZW5TdHJpbmcpOworICAgICAgICAgICAg
aW50IGxlbiA9IChpbnQpc3RybGVuKHRva2VuU3RyaW5nKTsKICAgICAgICAgICAgIGNwcC0+dG9r
ZW5zQmVmb3JlRU9GID0gMTsKICAgICAgICAgICAgIGlmIChsZW4gPj0gbWF4U2l6ZSkgewogICAg
ICAgICAgICAgICAgIHJldHVybiBtYXhTaXplOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182706</attachid>
            <date>2013-01-14 22:54:01 -0800</date>
            <delta_ts>2013-01-15 10:57:43 -0800</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-106798-20130114225101.patch</filename>
            <type>text/plain</type>
            <size>11893</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggYjU4NTVlMzliOTcwMDEwYzkyZmUxYWM5YzU5N2EzOTI3ODU5NTAyNi4uY2VkOGVmM2RjYjhi
YmQ1YzVmNjg5ZDllMTMyNDU0ZjYxYjRlMDkyZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDQyIEBACiAyMDEzLTAxLTE0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CiAKKyAgICAgICAgQU5HTEUgc2hvdWxkIGJ1aWxkIHdpdGggLVdzaG9ydGVuLTY0
LXRvLTMyCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzEwNjc5OD4KKyAgICAgICAgPGh0
dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9hbmdsZXByb2plY3QvaXNzdWVzL2RldGFpbD9pZD0zOTY+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9zdCBj
aGFuZ2VzIGJlbG93IGFyZSBzaW1wbHkgdG8gZG9jdW1lbnQgaXNzdWVzIHdpdGggI3ByYWdtYQor
ICAgICAgICBzdGF0ZW1lbnRzIHBlciByZXF1ZXN0IGJ5IHVwc3RyZWFtLiAgVGhlIGNoYW5nZSB0
byBvc2luY2x1ZGUuaAorICAgICAgICBpcyB0aGUgb25seSBidWcgZml4LCB3aGljaCBkZWZpbmVz
IE9TX1RMU0luZGV4IGluIHRlcm1zIG9mCisgICAgICAgIHB0aHJlYWRfa2V5X3QgaW5zdGVhZCBv
ZiB1bnNpZ25lZCBpbnQgc2luY2UgcHRocmVhZF9rZXlfdCBpcyBhCisgICAgICAgIDY0LWJpdCB2
YWx1ZSBvbiA2NC1iaXQgTWFjIE9TIFguCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnOiBFbmFibGUgLVdzaG9ydGVuLTY0LXRvLTMyIGJ5CisgICAgICAgIHNldHRpbmcg
R0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gdG8gWUVTLgorICAgICAgICAqIHNyYy9j
b21waWxlci9JbnRlcm1lZGlhdGUuY3BwOgorICAgICAgICAoVEludGVybVRyYXZlcnNlcjo6aGFz
aCk6IEFkZCAjcHJhZ21hcyBmb3IgY2xhbmcgdG8gaWdub3JlCisgICAgICAgIC1Xc2hvcnRlbi02
NC10by0zMiB3YXJuaW5nLgorICAgICAgICAqIHNyYy9jb21waWxlci9NYXBMb25nVmFyaWFibGVO
YW1lcy5jcHA6CisgICAgICAgIChMb25nTmFtZU1hcDo6U2l6ZSk6IERpdHRvLgorICAgICAgICAq
IHNyYy9jb21waWxlci9TaGFkZXJMYW5nLmNwcDoKKyAgICAgICAgKGdldFZhcmlhYmxlSW5mbyk6
IERpdHRvLgorICAgICAgICAoU2hHZXRJbmZvKTogRGl0dG8uCisgICAgICAgICogc3JjL2NvbXBp
bGVyL1ZhbGlkYXRlTGltaXRhdGlvbnMuY3BwOgorICAgICAgICAoVmFsaWRhdGVMaW1pdGF0aW9u
czo6dmFsaWRhdGVGdW5jdGlvbkNhbGwpOiBEaXR0by4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIv
Z2xzbGFuZy5sOiBEaXR0by4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIvZ2xzbGFuZ19sZXguY3Bw
OiBEaXR0by4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIvb3NpbmNsdWRlLmg6IENoYW5nZSB0eXBl
IG9mIE9TX1RMU0luZGV4IHRvCisgICAgICAgIHB0aHJlYWRfa2V5X3QuICBEZWZpbmUgT1NfSU5W
QUxJRF9UTFNfSU5ERVggYnkgdXNpbmcKKyAgICAgICAgc3RhdGljX2Nhc3Q8T1NfVExTSW5kZXg+
KC0xKS4KKyAgICAgICAgKiBzcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL0lucHV0LmNwcDoKKyAg
ICAgICAgKHBwOjpJbnB1dDo6SW5wdXQpOiBBZGQgI3ByYWdtYXMgZm9yIGNsYW5nIHRvIGlnbm9y
ZQorICAgICAgICAtV3Nob3J0ZW4tNjQtdG8tMzIgd2FybmluZy4KKyAgICAgICAgKiBzcmMvY29t
cGlsZXIvcHJlcHJvY2Vzc29yL1Rva2VuaXplci5jcHA6IERpdHRvLgorICAgICAgICAqIHNyYy9j
b21waWxlci9wcmVwcm9jZXNzb3IvVG9rZW5pemVyLmw6IERpdHRvLgorCisyMDEzLTAxLTE0ICBE
YXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKICAgICAgICAgUmVtb3ZlIG5vbmV4
aXN0ZW50IGZpbGUgaW4gQU5HTEUgWGNvZGUgcHJvamVjdAogCiAgICAgICAgICogQU5HTEUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajogUmVtb3ZlIHJlZmVyZW5jZXMgdG8KZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4
IDc0MmM4ZmM0YWZmNDRkMmZhODllNDhmMGI1ZmMyNDIwY2U5ZGEzNjcuLmNjOTA0ZTg1Mjg5NzFh
ODI5MmY1YWQzMjMxMGI3MWNlOGNhNTJjZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMTksNiArMTksNyBAQCBH
Q0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiA9IE5POwogR0NDX1RIUkVBRFNBRkVfU1RBVElDUyA9
IE5POwogR0NDX1RSRUFUX1dBUk5JTkdTX0FTX0VSUk9SUyA9IFlFUzsKIEdDQ19WRVJTSU9OID0g
Y29tLmFwcGxlLmNvbXBpbGVycy5sbHZtLmNsYW5nLjFfMDsKK0dDQ19XQVJOXzY0X1RPXzMyX0JJ
VF9DT05WRVJTSU9OID0gWUVTOwogR0NDX1dBUk5fQUJPVVRfREVQUkVDQVRFRF9GVU5DVElPTlMg
PSBOTzsKIEdDQ19XQVJOX0FCT1VUX01JU1NJTkdfTkVXTElORSA9IFlFUzsKIExJTktFUl9ESVNQ
TEFZU19NQU5HTEVEX05BTUVTID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2NvbXBpbGVyL0ludGVybWVkaWF0ZS5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvY29tcGlsZXIvSW50ZXJtZWRpYXRlLmNwcAppbmRleCA5MDMyYjNhZThlZGE0ZmNl
ZTY5NWQ5NTMzZDk2Mzk3MDUxMGM3N2NjLi41YTQxNmQ2YjY3MTY3Y2I4MDJmYWI1MjcyOTFhZDA3
MmE5YWU2MGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvSW50ZXJtZWRpYXRlLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29t
cGlsZXIvSW50ZXJtZWRpYXRlLmNwcApAQCAtMTQ1MSw3ICsxNDUxLDE0IEBAIFRTdHJpbmcgVElu
dGVybVRyYXZlcnNlcjo6aGFzaChjb25zdCBUU3RyaW5nJiBuYW1lLCBTaEhhc2hGdW5jdGlvbjY0
IGhhc2hGdW5jdGlvCiB7CiAgICAgaWYgKGhhc2hGdW5jdGlvbiA9PSBOVUxMIHx8IG5hbWUuZW1w
dHkoKSkKICAgICAgICAgcmV0dXJuIG5hbWU7CisjaWYgZGVmaW5lZChfX2NsYW5nX18pCisjcHJh
Z21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9y
ZWQgIi1Xc2hvcnRlbi02NC10by0zMiIKKyNlbmRpZgogICAgIGtocm9ub3NfdWludDY0X3QgbnVt
YmVyID0gKCpoYXNoRnVuY3Rpb24pKG5hbWUuY19zdHIoKSwgbmFtZS5sZW5ndGgoKSk7CisjaWYg
ZGVmaW5lZChfX2NsYW5nX18pCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisjZW5kaWYK
ICAgICBUU3RyaW5nU3RyZWFtIHN0cmVhbTsKICAgICBzdHJlYW0gPDwgSEFTSEVEX05BTUVfUFJF
RklYIDw8IHN0ZDo6aGV4IDw8IG51bWJlcjsKICAgICBUU3RyaW5nIGhhc2hlZE5hbWUgPSBzdHJl
YW0uc3RyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvTWFwTG9uZ1ZhcmlhYmxlTmFtZXMuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL01hcExvbmdWYXJpYWJsZU5hbWVzLmNwcAppbmRleCBhNTAzMTAxNTRkMDQ1NmE2
MDhlODFjMjVhZDFiZDA3MzZhOWRiMjcxLi4zMjQ2YmVkZTMyY2VjYmNiNjk2YWFkMDdlOTczZTNl
ZTMzNjg5MTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvTWFwTG9uZ1ZhcmlhYmxlTmFtZXMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci9NYXBMb25nVmFyaWFibGVOYW1lcy5jcHAKQEAgLTcyLDcgKzcyLDE0IEBA
IHZvaWQgTG9uZ05hbWVNYXA6Okluc2VydChjb25zdCBjaGFyKiBvcmlnaW5hbE5hbWUsIGNvbnN0
IGNoYXIqIG1hcHBlZE5hbWUpCiAKIGludCBMb25nTmFtZU1hcDo6U2l6ZSgpIGNvbnN0CiB7Cisj
aWYgZGVmaW5lZChfX2NsYW5nX18pCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc2hvcnRlbi02NC10by0zMiIKKyNlbmRp
ZgogICAgIHJldHVybiBtTG9uZ05hbWVNYXAuc2l6ZSgpOworI2lmIGRlZmluZWQoX19jbGFuZ19f
KQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorI2VuZGlmCiB9CiAKIE1hcExvbmdWYXJp
YWJsZU5hbWVzOjpNYXBMb25nVmFyaWFibGVOYW1lcyhMb25nTmFtZU1hcCogZ2xvYmFsTWFwKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL1NoYWRlckxh
bmcuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL1NoYWRlckxhbmcu
Y3BwCmluZGV4IGFiNTY1MzhjMWViYjhmNDFjMTVhMTUyY2JiZGMyOWU5MzhjMWMzYjguLjNlMjA2
OGU5NTRkNGZiNGZlZmZiMWM2MzA4MDVlOTdkMWVjOTkwM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9TaGFkZXJMYW5nLmNwcAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvU2hhZGVyTGFuZy5jcHAKQEAgLTYyLDcgKzYy
LDE0IEBAIHN0YXRpYyB2b2lkIGdldFZhcmlhYmxlSW5mbyhTaFNoYWRlckluZm8gdmFyVHlwZSwK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgY29uc3QgVFZhcmlhYmxlSW5mbyYgdmFySW5mbyA9IHZh
ckxpc3RbaW5kZXhdOworI2lmIGRlZmluZWQoX19jbGFuZ19fKQorI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3Nob3J0ZW4t
NjQtdG8tMzIiCisjZW5kaWYKICAgICBpZiAobGVuZ3RoKSAqbGVuZ3RoID0gdmFySW5mby5uYW1l
LnNpemUoKTsKKyNpZiBkZWZpbmVkKF9fY2xhbmdfXykKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBwb3AKKyNlbmRpZgogICAgICpzaXplID0gdmFySW5mby5zaXplOwogICAgICp0eXBlID0gdmFy
SW5mby50eXBlOwogCkBAIC0yMTEsMTMgKzIxOCwyNyBAQCB2b2lkIFNoR2V0SW5mbyhjb25zdCBT
aEhhbmRsZSBoYW5kbGUsIFNoU2hhZGVySW5mbyBwbmFtZSwgaW50KiBwYXJhbXMpCiAgICAgICAg
ICpwYXJhbXMgPSBjb21waWxlci0+Z2V0SW5mb1NpbmsoKS5vYmouc2l6ZSgpICsgMTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBTSF9BQ1RJVkVfVU5JRk9STVM6CisjaWYgZGVmaW5lZChfX2Ns
YW5nX18pCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIGlnbm9yZWQgIi1Xc2hvcnRlbi02NC10by0zMiIKKyNlbmRpZgogICAgICAgICAqcGFy
YW1zID0gY29tcGlsZXItPmdldFVuaWZvcm1zKCkuc2l6ZSgpOworI2lmIGRlZmluZWQoX19jbGFu
Z19fKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorI2VuZGlmCiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgU0hfQUNUSVZFX1VOSUZPUk1fTUFYX0xFTkdUSDoKICAgICAgICAgKnBhcmFt
cyA9IDEgKyAgTUFYX1NZTUJPTF9OQU1FX0xFTjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBT
SF9BQ1RJVkVfQVRUUklCVVRFUzoKKyNpZiBkZWZpbmVkKF9fY2xhbmdfXykKKyNwcmFnbWEgY2xh
bmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdz
aG9ydGVuLTY0LXRvLTMyIgorI2VuZGlmCiAgICAgICAgICpwYXJhbXMgPSBjb21waWxlci0+Z2V0
QXR0cmlicygpLnNpemUoKTsKKyNpZiBkZWZpbmVkKF9fY2xhbmdfXykKKyNwcmFnbWEgY2xhbmcg
ZGlhZ25vc3RpYyBwb3AKKyNlbmRpZgogICAgICAgICBicmVhazsKICAgICBjYXNlIFNIX0FDVElW
RV9BVFRSSUJVVEVfTUFYX0xFTkdUSDoKICAgICAgICAgKnBhcmFtcyA9IDEgKyBNQVhfU1lNQk9M
X05BTUVfTEVOOwpAQCAtMjQxLDcgKzI2MiwxNCBAQCB2b2lkIFNoR2V0SW5mbyhjb25zdCBTaEhh
bmRsZSBoYW5kbGUsIFNoU2hhZGVySW5mbyBwbmFtZSwgaW50KiBwYXJhbXMpCiAgICAgICAgIH0K
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTSF9IQVNIRURfTkFNRVNfQ09VTlQ6CisjaWYgZGVm
aW5lZChfX2NsYW5nX18pCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc2hvcnRlbi02NC10by0zMiIKKyNlbmRpZgogICAg
ICAgICAqcGFyYW1zID0gY29tcGlsZXItPmdldE5hbWVNYXAoKS5zaXplKCk7CisjaWYgZGVmaW5l
ZChfX2NsYW5nX18pCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisjZW5kaWYKICAgICAg
ICAgYnJlYWs7CiAgICAgZGVmYXVsdDogVU5SRUFDSEFCTEUoKTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvVmFsaWRhdGVMaW1pdGF0aW9u
cy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvVmFsaWRhdGVMaW1p
dGF0aW9ucy5jcHAKaW5kZXggZDY5ZWM2YmJhYWE4MzU2NjNmYjFiNTg0Y2QzZWVlOTFjNjQ1MTgz
Mi4uMTQzNzMzYjAzNTlkZGI1MmY3ZjlhMGQzYTMzMzM0NzM5ZThlODk1ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL1ZhbGlkYXRlTGltaXRhdGlvbnMu
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9WYWxpZGF0ZUxp
bWl0YXRpb25zLmNwcApAQCAtNDI3LDcgKzQyNywxNCBAQCBib29sIFZhbGlkYXRlTGltaXRhdGlv
bnM6OnZhbGlkYXRlRnVuY3Rpb25DYWxsKFRJbnRlcm1BZ2dyZWdhdGUqIG5vZGUpCiAgICAgZm9y
IChUSW50ZXJtU2VxdWVuY2U6OnNpemVfdHlwZSBpID0gMDsgaSA8IHBhcmFtcy5zaXplKCk7ICsr
aSkgewogICAgICAgICBUSW50ZXJtU3ltYm9sKiBzeW1ib2wgPSBwYXJhbXNbaV0tPmdldEFzU3lt
Ym9sTm9kZSgpOwogICAgICAgICBpZiAoc3ltYm9sICYmIGlzTG9vcEluZGV4KHN5bWJvbCkpCisj
aWYgZGVmaW5lZChfX2NsYW5nX18pCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc2hvcnRlbi02NC10by0zMiIKKyNlbmRp
ZgogICAgICAgICAgICAgcEluZGV4LnB1c2hfYmFjayhpKTsKKyNpZiBkZWZpbmVkKF9fY2xhbmdf
XykKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKyNlbmRpZgogICAgIH0KICAgICAvLyBJ
ZiBub25lIG9mIHRoZSBsb29wIGluZGljZXMgYXJlIHVzZWQgYXMgYXJndW1lbnRzLAogICAgIC8v
IHRoZXJlIGlzIG5vdGhpbmcgdG8gY2hlY2suCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvY29tcGlsZXIvZ2xzbGFuZy5sIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2NvbXBpbGVyL2dsc2xhbmcubAppbmRleCA4MzAwZmY2M2Y3MDQ1YjAxNWQ3MWQxNmYwZWNi
NTc2ZjEzZDA2NGZhLi4xODA2OTVlZThiYzU4MmZlNzM3YjY3YTVjYjEwMjc2ZTA4ZGM5YTIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvZ2xzbGFuZy5s
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9nbHNsYW5nLmwKQEAg
LTIzLDYgKzIzLDkgQEAgV0hJQ0ggR0VORVJBVEVTIFRIRSBHTFNMIEVTIExFWEVSIChnbHNsYW5n
X2xleC5jcHApLgogLy8gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlX3Bh
cnNlci5zaC4gRE8gTk9UIEVESVQhCiAKIC8vIElnbm9yZSBlcnJvcnMgaW4gYXV0by1nZW5lcmF0
ZWQgY29kZS4KKyNpZiBkZWZpbmVkKF9fY2xhbmdfXykKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBpZ25vcmVkICItV3Nob3J0ZW4tNjQtdG8tMzIiCisjZW5kaWYKICNpZiBkZWZpbmVkKF9fR05V
Q19fKQogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3VudXNlZC1mdW5jdGlvbiIK
ICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1bnVzZWQtdmFyaWFibGUiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvZ2xzbGFuZ19sZXgu
Y3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL2dsc2xhbmdfbGV4LmNw
cAppbmRleCBmNjUxZGYxNWQ5NjUyY2QyMTJlODVlOGI0NDQ4NzQ2MzcyOGI2MzkzLi45MGMwZGQ0
ZGNiNzIwZWVhODZjNzgwMzY2MDgzYjY3MTM5M2Q5MzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvZ2xzbGFuZ19sZXguY3BwCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9nbHNsYW5nX2xleC5jcHAKQEAgLTgsNiArOCw5
IEBACiAvLyBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGVfcGFyc2VyLnNo
LiBETyBOT1QgRURJVCEKIAogLy8gSWdub3JlIGVycm9ycyBpbiBhdXRvLWdlbmVyYXRlZCBjb2Rl
LgorI2lmIGRlZmluZWQoX19jbGFuZ19fKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9y
ZWQgIi1Xc2hvcnRlbi02NC10by0zMiIKKyNlbmRpZgogI2lmIGRlZmluZWQoX19HTlVDX18pCiAj
cHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW51c2VkLWZ1bmN0aW9uIgogI3ByYWdt
YSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3VudXNlZC12YXJpYWJsZSIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9vc2luY2x1ZGUuaCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9vc2luY2x1ZGUuaAppbmRleCBhZGYxYTNl
ZDMzMWQxOWNjNTNhMjBlM2U3MDJhMWU1NGQyYzcwNGRkLi5kOGJiMWE3OTdjNGQ4ZDkyZmQ2MzU0
MmE5ZTE5NWRlNTBkZjA2ODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvY29tcGlsZXIvb3NpbmNsdWRlLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2NvbXBpbGVyL29zaW5jbHVkZS5oCkBAIC00NCw4ICs0NCw4IEBACiB0eXBlZGVmIERXT1JEIE9T
X1RMU0luZGV4OwogI2RlZmluZSBPU19JTlZBTElEX1RMU19JTkRFWCAoVExTX09VVF9PRl9JTkRF
WEVTKQogI2VsaWYgZGVmaW5lZChBTkdMRV9PU19QT1NJWCkKLXR5cGVkZWYgdW5zaWduZWQgaW50
IE9TX1RMU0luZGV4OwotI2RlZmluZSBPU19JTlZBTElEX1RMU19JTkRFWCAweEZGRkZGRkZGCit0
eXBlZGVmIHB0aHJlYWRfa2V5X3QgT1NfVExTSW5kZXg7CisjZGVmaW5lIE9TX0lOVkFMSURfVExT
X0lOREVYIChzdGF0aWNfY2FzdDxPU19UTFNJbmRleD4oLTEpKQogI2VuZGlmICAvLyBBTkdMRV9P
U19XSU4KIAogT1NfVExTSW5kZXggT1NfQWxsb2NUTFNJbmRleCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nvci9JbnB1dC5jcHAg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL0lucHV0
LmNwcAppbmRleCAxMTg2OGMxY2Q1Yjk5NWZmODRmMTE4MTg3MTQ1MmUxNGZlNzllNTBjLi45YWFl
M2ExMGRkMzc3NzhmNjQ1YWMzMTkxNmM2ZGQ5MGI1NWI3MmNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL0lucHV0LmNwcAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL0lucHV0
LmNwcApAQCAtMjYsNyArMjYsMTQgQEAgSW5wdXQ6OklucHV0KGludCBjb3VudCwgY29uc3QgY2hh
ciogY29uc3Qgc3RyaW5nW10sIGNvbnN0IGludCBsZW5ndGhbXSkgOgogICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgbUNvdW50OyArK2kpCiAgICAgewogICAgICAgICBpbnQgbGVuID0gbGVuZ3RoID8g
bGVuZ3RoW2ldIDogLTE7CisjaWYgZGVmaW5lZChfX2NsYW5nX18pCisjcHJhZ21hIGNsYW5nIGRp
YWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc2hvcnRl
bi02NC10by0zMiIKKyNlbmRpZgogICAgICAgICBtTGVuZ3RoLnB1c2hfYmFjayhsZW4gPCAwID8g
c3RkOjpzdHJsZW4obVN0cmluZ1tpXSkgOiBsZW4pOworI2lmIGRlZmluZWQoX19jbGFuZ19fKQor
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorI2VuZGlmCiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vzc29yL1Rv
a2VuaXplci5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJv
Y2Vzc29yL1Rva2VuaXplci5jcHAKaW5kZXggNGE1NzY0Nzc0MWQwN2VkNjU3NWExM2FkZTVlZjQy
N2QyYzE1M2Y2Ni4uMjAwM2VkMzc2YWI2YTdjNzUyMDhiMjBlYTRhMDcyM2U5YmJmYjE4YSAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXByb2Nlc3Nv
ci9Ub2tlbml6ZXIuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxl
ci9wcmVwcm9jZXNzb3IvVG9rZW5pemVyLmNwcApAQCAtNTIwLDYgKzUyMCw5IEBAIElGIFlPVSBN
T0RJRlkgVEhJUyBGSUxFIFlPVSBBTFNPIE5FRUQgVE8gUlVOIGdlbmVyYXRlX3BhcnNlci5zaC4K
ICNpbmNsdWRlICJEaWFnbm9zdGljc0Jhc2UuaCIKICNpbmNsdWRlICJUb2tlbi5oIgogCisjaWYg
ZGVmaW5lZChfX2NsYW5nX18pCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdz
aG9ydGVuLTY0LXRvLTMyIgorI2VuZGlmCiAjaWYgZGVmaW5lZChfX0dOVUNfXykKIC8vIFRyaWdn
ZXJlZCBieSB0aGUgYXV0by1nZW5lcmF0ZWQgeXlfZmF0YWxfZXJyb3IgZnVuY3Rpb24uCiAjcHJh
Z21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XbWlzc2luZy1ub3JldHVybiIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvVG9r
ZW5pemVyLmwgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvcHJlcHJvY2Vz
c29yL1Rva2VuaXplci5sCmluZGV4IDY4OWFlNjRiMGFmMjc0NDFmMjU4ZDg2MzAzNTdlOTQ3NzEx
MWQ1ZTYuLmFiMWJiNzE3MDA0NWNjMzU5OGFiNDllZjllNWM3OGM3NzliMzZkZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9wcmVwcm9jZXNzb3IvVG9r
ZW5pemVyLmwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3ByZXBy
b2Nlc3Nvci9Ub2tlbml6ZXIubApAQCAtMjgsNiArMjgsOSBAQCBJRiBZT1UgTU9ESUZZIFRISVMg
RklMRSBZT1UgQUxTTyBORUVEIFRPIFJVTiBnZW5lcmF0ZV9wYXJzZXIuc2guCiAjaW5jbHVkZSAi
RGlhZ25vc3RpY3NCYXNlLmgiCiAjaW5jbHVkZSAiVG9rZW4uaCIKIAorI2lmIGRlZmluZWQoX19j
bGFuZ19fKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc2hvcnRlbi02NC10
by0zMiIKKyNlbmRpZgogI2lmIGRlZmluZWQoX19HTlVDX18pCiAvLyBUcmlnZ2VyZWQgYnkgdGhl
IGF1dG8tZ2VuZXJhdGVkIHl5X2ZhdGFsX2Vycm9yIGZ1bmN0aW9uLgogI3ByYWdtYSBHQ0MgZGlh
Z25vc3RpYyBpZ25vcmVkICItV21pc3Npbmctbm9yZXR1cm4iCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>