<?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>11257</bug_id>
          
          <creation_ts>2006-10-11 12:50:18 -0700</creation_ts>
          <short_desc>Remove mac platform dependance from Loader::ReceivedResponse() and CachedImage::createImage()</short_desc>
          <delta_ts>2006-10-14 03:27:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="David Carson">dacarson</reporter>
          <assigned_to name="David Carson">dacarson</assigned_to>
          <cc>zalan</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>53504</commentid>
    <comment_count>0</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-11 12:50:18 -0700</bug_when>
    <thetext>The logic in receivedResponse can be used by more than just the mac platform if the functions CacheObjectExpiresTime() and ResponseIsMultipart() were made platform independant. The functions are defined in a non-platform header file, LoaderFunctions.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53495</commentid>
    <comment_count>1</comment_count>
      <attachid>11036</attachid>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-11 13:00:56 -0700</bug_when>
    <thetext>Created attachment 11036
Patch

Modified link stubs for Windows and Qt as there are two functions that should to be implemented to enable use of the Loader::receivedResponse() function. These functions update the memory cache status of the response.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53489</commentid>
    <comment_count>2</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-11 13:33:22 -0700</bug_when>
    <thetext>CachedImage also does not need to be special cased. By passing PlatformRequest to ResponseMIMEType(), platforms can make their own implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53492</commentid>
    <comment_count>3</comment_count>
      <attachid>11038</attachid>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-11 13:36:12 -0700</bug_when>
    <thetext>Created attachment 11038
Updated patch

Created new patch to include changes for ResponseMIMEType()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53409</commentid>
    <comment_count>4</comment_count>
      <attachid>11038</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-10-12 02:41:38 -0700</bug_when>
    <thetext>Comment on attachment 11038
Updated patch

Looks generally ok, but here&apos;s some things I&apos;m sure about:

-#if __APPLE__
         m_image = new Image(this, ResponseMIMEType(m_response) == &quot;application/pdf&quot;);
-#else
-        m_image = new Image(this, false);
-#endif

I don&apos;t think any platform but Mac supports PDF images yet, so I&apos;m not sure this is right. but maybe Image will fail gracefully.


As a matter of style, we don&apos;t usually use this kind of initialization for non-class types, just = would be better.

+    NSURLResponse* response(platResponse);

r- for now to consider these comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53411</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-10-12 02:44:36 -0700</bug_when>
    <thetext>The PDF #ifdef needs to be kept.  It should be changed to PLATFORM(CG) though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53418</commentid>
    <comment_count>6</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-12 08:42:49 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 11038 [edit])
&gt; Looks generally ok, but here&apos;s some things I&apos;m sure about:
&gt; 
&gt; -#if __APPLE__
&gt;          m_image = new Image(this, ResponseMIMEType(m_response) ==
&gt; &quot;application/pdf&quot;);
&gt; -#else
&gt; -        m_image = new Image(this, false);
&gt; -#endif
&gt; 
&gt; I don&apos;t think any platform but Mac supports PDF images yet, so I&apos;m not sure
&gt; this is right. but maybe Image will fail gracefully.

it will fail gracefully in Image.cpp

&gt; 
&gt; As a matter of style, we don&apos;t usually use this kind of initialization for
&gt; non-class types, just = would be better.
&gt; 
&gt; +    NSURLResponse* response(platResponse);

Because:
typedef NSURLResponse* PlatformResponse;
the line is not needed at all. I have removed these.

&gt; r- for now to consider these comments.
&gt; 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53422</commentid>
    <comment_count>7</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-12 09:17:13 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; The PDF #ifdef needs to be kept.  It should be changed to PLATFORM(CG) though.
&gt; 

I disagree. Image class will handle this nicely. If PDF Image support should be &apos;hidden&apos; to Apple only, then the second arguement for the Image object should not exist for other platforms and the constructor be within an #ifdef
I can see no harm in removing this #ifdef as Image object ignores the parameter anyway for any other platform but CG
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53424</commentid>
    <comment_count>8</comment_count>
      <attachid>11046</attachid>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-12 10:02:28 -0700</bug_when>
    <thetext>Created attachment 11046
Included fixes from mjs&apos;s comment

I made a more complete patch, which corrects all instances of NSURLResponse in LoaderFunctions.h 
This also includes a correction to CachedResource to store PlatformResponse and PlatformData rather than the Apple specific NSURLResponse and NSData.
The definition for PlatformData and PlatformResponse is in ResourceLoaderClient.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53429</commentid>
    <comment_count>9</comment_count>
      <attachid>11047</attachid>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-12 10:51:38 -0700</bug_when>
    <thetext>Created attachment 11047
missed some non-mac build items

Missed adding these functions to the TemporaryLinkStubs.cpp
Check mac implementation to determine what needs to be done for these functions.
CachedResource::setResponse(PlatformResponse) { notImplemented(); }
CachedResource::setAllData(PlatformData) { notImplemented(); }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53296</commentid>
    <comment_count>10</comment_count>
      <attachid>11047</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-10-13 13:46:45 -0700</bug_when>
    <thetext>Comment on attachment 11047
missed some non-mac build items

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53233</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-10-14 02:47:12 -0700</bug_when>
    <thetext>Landed in r17056.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53232</commentid>
    <comment_count>12</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-10-14 03:26:30 -0700</bug_when>
    <thetext>This is fine for now.  The PDF thing is basically all wrong right now anyway, since eventually we want to create a PDFImage subclass instead of passing a boolean in to the constructor like this.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53230</commentid>
    <comment_count>13</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-10-14 03:27:12 -0700</bug_when>
    <thetext>(Which is why I think the #ifdef has to come back eventually, since everyone won&apos;t be able to make the derived class.)
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11036</attachid>
            <date>2006-10-11 13:00:56 -0700</date>
            <delta_ts>2006-10-11 13:36:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>plat.txt</filename>
            <type>text/plain</type>
            <size>6236</size>
            <attacher name="David Carson">dacarson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjk5NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDYtMTAtMTEgIERhdmlkIENhcnNvbiAgZGFjYXJzb25AZ21haWwu
Y29tCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
OiBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI1NworICAgICAgICBS
ZW1vdmVkIE1hYyBwbGF0Zm9ybSBkZXBlbmRhbmNlLCBjaGFuZ2VkIFdlYkNvcmUgZnVuY3Rpb25z
IHRvCisgICAgICAgIHVzZSBQbGF0Zm9ybVJlc3BvbnNlIHJhdGhlciB0aGFuIE5TVVJMUmVzcG9u
c2UuIFRoZW4gcGxhdGZvcm0KKyAgICAgICAgZGVwZW5kYW50IGltcGxlbWVudGF0aW9ucyBjYW4g
YmUgY3JlYXRlZC4gCisKKyAgICAgICAgKiBsb2FkZXIvTG9hZGVyRnVuY3Rpb25zLmg6CisgICAg
ICAgICogbG9hZGVyL2xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkZXI6OnJlY2Vp
dmVkUmVzcG9uc2UpOgorICAgICAgICAqIGxvYWRlci9tYWMvTG9hZGVyRnVuY3Rpb25zTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6UmVzcG9uc2VJc011bHRpcGFydCk6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZU9iamVjdEV4cGlyZXNUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TdHJpbmdJ
bXBsLmg6CisgICAgICAgICogcGxhdGZvcm0vcXQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlT2JqZWN0RXhwaXJlc1RpbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzcG9uc2VJc011bHRpcGFydCk6CisgICAgICAgICogcGxhdGZvcm0vd2luL1RlbXBvcmFy
eUxpbmtTdHVicy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZU9iamVjdEV4cGlyZXNUaW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc3BvbnNlSXNNdWx0aXBhcnQpOgorCiAyMDA2LTEwLTEx
ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbS4KSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0xvYWRlckZ1bmN0aW9ucy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvbG9hZGVyL0xvYWRlckZ1bmN0aW9ucy5oCShyZXZpc2lvbiAxNjk5NCkKKysr
IFdlYkNvcmUvbG9hZGVyL0xvYWRlckZ1bmN0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwx
MSArMjQsMTAgQEAKICAqLwogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgIlJl
c291cmNlTG9hZGVyQ2xpZW50LmgiICAvLyBEZWZpbmVzIFBsYXRmb3JtUmVzcG9uc2UKIAogI2lm
ZGVmIF9fT0JKQ19fCiBAY2xhc3MgTlNEaWN0aW9uYXJ5OwotQGNsYXNzIE5TU3RyaW5nOwotQGNs
YXNzIE5TVVJMUmVzcG9uc2U7CiAKIEBpbnRlcmZhY2UgTlNEaWN0aW9uYXJ5IChXZWJDb3JlX0V4
dHJhcykKICsgKGlkKV93ZWJjb3JlX2RpY3Rpb25hcnlXaXRoSGVhZGVyU3RyaW5nOihOU1N0cmlu
ZyAqKXN0cmluZzsKQEAgLTM2LDggKzM1LDYgQEAKIAogI2Vsc2UKIGNsYXNzIE5TRGljdGlvbmFy
eTsKLWNsYXNzIE5TU3RyaW5nOwotY2xhc3MgTlNVUkxSZXNwb25zZTsKICNlbmRpZgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC00NSwxMSArNDIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBDYWNoZWRSZXNvdXJjZTsKIGNsYXNzIERlcHJlY2F0ZWRTdHJpbmc7CiBjbGFzcyBEb2NM
b2FkZXI7Ci1jbGFzcyBLVVJMOwogY2xhc3MgTG9hZGVyOwogY2xhc3MgUmVxdWVzdDsKIGNsYXNz
IFN0cmluZzsKLWNsYXNzIFJlc291cmNlTG9hZGVyOwogCiBWZWN0b3I8Y2hhcj4gU2VydmVTeW5j
aHJvbm91c1JlcXVlc3QoTG9hZGVyKiwgRG9jTG9hZGVyKiwgUmVzb3VyY2VMb2FkZXIqLCBLVVJM
JiBmaW5hbFVSTCwgRGVwcmVjYXRlZFN0cmluZyYgaGVhZGVycyk7CiAKQEAgLTU4LDkgKzUzLDkg
QEAgYm9vbCBDaGVja0lmUmVsb2FkaW5nKERvY0xvYWRlciopOwogYm9vbCBJc1Jlc3BvbnNlVVJM
RXF1YWxUb1VSTChOU1VSTFJlc3BvbnNlKiwgY29uc3QgU3RyaW5nJiBVUkwpOwogRGVwcmVjYXRl
ZFN0cmluZyBSZXNwb25zZVVSTChOU1VSTFJlc3BvbnNlKik7CiBEZXByZWNhdGVkU3RyaW5nIFJl
c3BvbnNlTUlNRVR5cGUoTlNVUkxSZXNwb25zZSopOwotYm9vbCBSZXNwb25zZUlzTXVsdGlwYXJ0
KE5TVVJMUmVzcG9uc2UqKTsKK2Jvb2wgUmVzcG9uc2VJc011bHRpcGFydChQbGF0Zm9ybVJlc3Bv
bnNlKTsKIGludCBOdW1iZXJPZlBlbmRpbmdPckxvYWRpbmdSZXF1ZXN0cyhEb2NMb2FkZXIqKTsK
LXRpbWVfdCBDYWNoZU9iamVjdEV4cGlyZXNUaW1lKERvY0xvYWRlciosIE5TVVJMUmVzcG9uc2Uq
KTsKK3RpbWVfdCBDYWNoZU9iamVjdEV4cGlyZXNUaW1lKERvY0xvYWRlciosIFBsYXRmb3JtUmVz
cG9uc2UpOwogTlNTdHJpbmcqIEhlYWRlclN0cmluZ0Zyb21EaWN0aW9uYXJ5KE5TRGljdGlvbmFy
eSogaGVhZGVycywgaW50IHN0YXR1c0NvZGUpOwogCiB9CkluZGV4OiBXZWJDb3JlL2xvYWRlci9s
b2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL2xvYWRlci5jcHAJKHJldmlz
aW9uIDE2OTk0KQorKysgV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTIxLDcgKzEyMSw2IEBAIHZvaWQgTG9hZGVyOjpyZWNlaXZlZEFsbERhdGEoUmVzb3VyY2VM
b2EKIAogdm9pZCBMb2FkZXI6OnJlY2VpdmVkUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXIqIGpvYiwg
UGxhdGZvcm1SZXNwb25zZSByZXNwb25zZSkKIHsKLSNpZmRlZiBfX0FQUExFX18KICAgICBSZXF1
ZXN0KiByZXEgPSBtX3JlcXVlc3RzTG9hZGluZy5nZXQoam9iKTsKICAgICBBU1NFUlQocmVxKTsK
ICAgICBBU1NFUlQocmVzcG9uc2UpOwpAQCAtMTQyLDcgKzE0MSw2IEBAIHZvaWQgTG9hZGVyOjpy
ZWNlaXZlZFJlc3BvbnNlKFJlc291cmNlTG8KICAgICAgICAgaWYgKCFyZXEtPmNhY2hlZE9iamVj
dCgpLT5pc0ltYWdlKCkpCiAgICAgICAgICAgICBqb2ItPmNhbmNlbCgpOwogICAgIH0KLSNlbmRp
ZgogfQogCiB2b2lkIExvYWRlcjo6cmVjZWl2ZWREYXRhKFJlc291cmNlTG9hZGVyKiBqb2IsIGNv
bnN0IGNoYXIqIGRhdGEsIGludCBzaXplKQpJbmRleDogV2ViQ29yZS9sb2FkZXIvbWFjL0xvYWRl
ckZ1bmN0aW9uc01hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9tYWMvTG9hZGVy
RnVuY3Rpb25zTWFjLm1tCShyZXZpc2lvbiAxNjk5NCkKKysrIFdlYkNvcmUvbG9hZGVyL21hYy9M
b2FkZXJGdW5jdGlvbnNNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI1NSw4ICsyNTUsOSBAQCBE
ZXByZWNhdGVkU3RyaW5nIFJlc3BvbnNlTUlNRVR5cGUoTlNVUkxSCiAgICAgcmV0dXJuIERlcHJl
Y2F0ZWRTdHJpbmcoKTsKIH0KIAotYm9vbCBSZXNwb25zZUlzTXVsdGlwYXJ0KE5TVVJMUmVzcG9u
c2UgKnJlc3BvbnNlKQorYm9vbCBSZXNwb25zZUlzTXVsdGlwYXJ0KFBsYXRmb3JtUmVzcG9uc2Ug
cGxhdFJlc3BvbnNlKQogeworICAgIE5TVVJMUmVzcG9uc2UqIHJlc3BvbnNlKHBsYXRSZXNwb25z
ZSk7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIHJldHVybiBbW3Jlc3Bv
bnNlIE1JTUVUeXBlXSBpc0VxdWFsVG9TdHJpbmc6QCJtdWx0aXBhcnQveC1taXhlZC1yZXBsYWNl
Il07CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKQEAgLTI2NCw4ICsyNjUsOSBAQCBi
b29sIFJlc3BvbnNlSXNNdWx0aXBhcnQoTlNVUkxSZXNwb25zZSAqCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCi10aW1lX3QgQ2FjaGVPYmplY3RFeHBpcmVzVGltZShEb2NMb2FkZXIgKmRvY0xvYWRl
ciwgTlNVUkxSZXNwb25zZSAqcmVzcG9uc2UpCit0aW1lX3QgQ2FjaGVPYmplY3RFeHBpcmVzVGlt
ZShEb2NMb2FkZXIgKmRvY0xvYWRlciwgUGxhdGZvcm1SZXNwb25zZSBwbGF0UmVzcG9uc2UpCiB7
CisgICAgTlNVUkxSZXNwb25zZSogcmVzcG9uc2UocGxhdFJlc3BvbnNlKTsKICAgICBCRUdJTl9C
TE9DS19PQkpDX0VYQ0VQVElPTlM7CiAgICAgCiAgICAgRnJhbWVNYWMgKmZyYW1lID0gc3RhdGlj
X2Nhc3Q8RnJhbWVNYWMgKj4oZG9jTG9hZGVyLT5mcmFtZSgpKTsKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vU3RyaW5nSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vU3RyaW5n
SW1wbC5oCShyZXZpc2lvbiAxNjk5NCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vU3RyaW5nSW1wbC5o
CSh3b3JraW5nIGNvcHkpCkBAIC04OSw2ICs4OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHRydW5j
YXRlKGludCBsZW4pOwogICAgIHZvaWQgcmVtb3ZlKHVuc2lnbmVkIHBvcywgaW50IGxlbiA9IDEp
OwogCisgICAgU3RyaW5nSW1wbCogc3BsaXRPbkNoYXJzKGNvbnN0IFN0cmluZ0ltcGwqIHNwbGl0
Y2hhcnMpOwogICAgIFN0cmluZ0ltcGwqIGNvcHkoKSBjb25zdCB7IHJldHVybiBuZXcgU3RyaW5n
SW1wbChtX2RhdGEsIG1fbGVuZ3RoKTsgfQogCiAgICAgU3RyaW5nSW1wbCogc3Vic3RyaW5nKHVu
c2lnbmVkIHBvcywgdW5zaWduZWQgbGVuID0gVUlOVF9NQVgpOwpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9xdC9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vcXQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAkocmV2aXNpb24gMTY5OTQpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL3F0L1RlbXBvcmFyeUxpbmtTdHVicy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE0OCw2ICsxNDgsOCBAQCBib29sIEljb25EYXRhYmFzZTo6c2V0SWNvblVSTEZvclBhZ2VVUkwo
CiB2b2lkIENoZWNrQ2FjaGVPYmplY3RTdGF0dXMoRG9jTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2Uq
KSB7IH0KIGJvb2wgQ2hlY2tJZlJlbG9hZGluZyhXZWJDb3JlOjpEb2NMb2FkZXIqKSB7IHJldHVy
biBmYWxzZTsgfQogVmVjdG9yPGNoYXI+IFNlcnZlU3luY2hyb25vdXNSZXF1ZXN0KExvYWRlcios
IERvY0xvYWRlciosIFJlc291cmNlTG9hZGVyKiwgS1VSTCYsIERlcHJlY2F0ZWRTdHJpbmcmKSB7
IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBWZWN0b3I8Y2hhcj4oKTsgfQordGltZV90IENhY2hl
T2JqZWN0RXhwaXJlc1RpbWUoRG9jTG9hZGVyKiwgUGxhdGZvcm1SZXNwb25zZSopIHsgcmV0dXJu
IDA7IH0KK2Jvb2wgUmVzcG9uc2VJc011bHRpcGFydChQbGF0Zm9ybVJlc3BvbnNlKikgeyByZXR1
cm4gZmFsc2U7IH0KIH0KIAogYm9vbCBXZWJDb3JlOjpoaXN0b3J5Q29udGFpbnMoRGVwcmVjYXRl
ZFN0cmluZyBjb25zdCYpIHsgcmV0dXJuIGZhbHNlOyB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L3dpbi9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vd2luL1RlbXBvcmFyeUxpbmtTdHVicy5jcHAJKHJldmlzaW9uIDE2OTk0KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjU1LDYgKzI1NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogYm9vbCBDaGVja0lmUmVsb2Fk
aW5nKFdlYkNvcmU6OkRvY0xvYWRlciopIHsgcmV0dXJuIGZhbHNlOyB9CiB2b2lkIENoZWNrQ2Fj
aGVPYmplY3RTdGF0dXMoRG9jTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqKSB7IH0KK3RpbWVfdCBD
YWNoZU9iamVjdEV4cGlyZXNUaW1lKERvY0xvYWRlciosIFBsYXRmb3JtUmVzcG9uc2UqKSB7IHJl
dHVybiAwOyB9Citib29sIFJlc3BvbnNlSXNNdWx0aXBhcnQoUGxhdGZvcm1SZXNwb25zZSopIHsg
cmV0dXJuIGZhbHNlOyB9CiAKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11038</attachid>
            <date>2006-10-11 13:36:12 -0700</date>
            <delta_ts>2006-10-12 10:02:28 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>plat.txt</filename>
            <type>text/plain</type>
            <size>6877</size>
            <attacher name="David Carson">dacarson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjk5NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDYtMTAtMTEgIERhdmlkIENhcnNvbiAgZGFjYXJzb25AZ21haWwu
Y29tCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
OiBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI1NworICAgICAgICBS
ZW1vdmVkIE1hYyBwbGF0Zm9ybSBkZXBlbmRhbmNlLCBjaGFuZ2VkIFdlYkNvcmUgZnVuY3Rpb25z
IHRvCisgICAgICAgIHVzZSBQbGF0Zm9ybVJlc3BvbnNlIHJhdGhlciB0aGFuIE5TVVJMUmVzcG9u
c2UuIFRoZW4gcGxhdGZvcm0KKyAgICAgICAgZGVwZW5kYW50IGltcGxlbWVudGF0aW9ucyBjYW4g
YmUgY3JlYXRlZC4gCisKKyAgICAgICAgKiBsb2FkZXIvTG9hZGVyRnVuY3Rpb25zLmg6CisgICAg
ICAgICogbG9hZGVyL2xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkZXI6OnJlY2Vp
dmVkUmVzcG9uc2UpOgorICAgICAgICAqIGxvYWRlci9tYWMvTG9hZGVyRnVuY3Rpb25zTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6UmVzcG9uc2VJc011bHRpcGFydCk6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZU9iamVjdEV4cGlyZXNUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZW1w
b3JhcnlMaW5rU3R1YnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVPYmplY3RFeHBpcmVz
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNwb25zZUlzTXVsdGlwYXJ0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS93aW4vVGVtcG9yYXJ5TGlua1N0dWJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlT2JqZWN0RXhwaXJlc1RpbWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzcG9uc2VJc011
bHRpcGFydCk6CisKIDIwMDYtMTAtMTEgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtLgpJbmRleDogV2ViQ29yZS9sb2FkZXIvQ2FjaGVk
SW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0NhY2hlZEltYWdlLmNwcAko
cmV2aXNpb24gMTY5OTQpCisrKyBXZWJDb3JlL2xvYWRlci9DYWNoZWRJbWFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTExNSwxMSArMTE1LDcgQEAgaW5saW5lIHZvaWQgQ2FjaGVkSW1hZ2U6OmNy
ZWF0ZUltYWdlKCkKIHsKICAgICAvLyBDcmVhdGUgdGhlIGltYWdlIGlmIGl0IGRvZXNuJ3QgeWV0
IGV4aXN0LgogICAgIGlmICghbV9pbWFnZSkKLSNpZiBfX0FQUExFX18KICAgICAgICAgbV9pbWFn
ZSA9IG5ldyBJbWFnZSh0aGlzLCBSZXNwb25zZU1JTUVUeXBlKG1fcmVzcG9uc2UpID09ICJhcHBs
aWNhdGlvbi9wZGYiKTsKLSNlbHNlCi0gICAgICAgIG1faW1hZ2UgPSBuZXcgSW1hZ2UodGhpcywg
ZmFsc2UpOwotI2VuZGlmCiB9CiAKIFZlY3RvcjxjaGFyPiYgQ2FjaGVkSW1hZ2U6OmJ1ZmZlckRh
dGEoY29uc3QgY2hhciogYnl0ZXMsIGludCBhZGRlZFNpemUsIFJlcXVlc3QqIHJlcXVlc3QpCklu
ZGV4OiBXZWJDb3JlL2xvYWRlci9Mb2FkZXJGdW5jdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2xvYWRlci9Mb2FkZXJGdW5jdGlvbnMuaAkocmV2aXNpb24gMTY5OTQpCisrKyBXZWJDb3Jl
L2xvYWRlci9Mb2FkZXJGdW5jdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsMTEgKzI0LDEw
IEBACiAgKi8KIAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlICJSZXNvdXJjZUxv
YWRlckNsaWVudC5oIiAgLy8gRGVmaW5lcyBQbGF0Zm9ybVJlc3BvbnNlCiAKICNpZmRlZiBfX09C
SkNfXwogQGNsYXNzIE5TRGljdGlvbmFyeTsKLUBjbGFzcyBOU1N0cmluZzsKLUBjbGFzcyBOU1VS
TFJlc3BvbnNlOwogCiBAaW50ZXJmYWNlIE5TRGljdGlvbmFyeSAoV2ViQ29yZV9FeHRyYXMpCiAr
IChpZClfd2ViY29yZV9kaWN0aW9uYXJ5V2l0aEhlYWRlclN0cmluZzooTlNTdHJpbmcgKilzdHJp
bmc7CkBAIC0zNiw4ICszNSw2IEBACiAKICNlbHNlCiBjbGFzcyBOU0RpY3Rpb25hcnk7Ci1jbGFz
cyBOU1N0cmluZzsKLWNsYXNzIE5TVVJMUmVzcG9uc2U7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDUsMTEgKzQyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2Fj
aGVkUmVzb3VyY2U7CiBjbGFzcyBEZXByZWNhdGVkU3RyaW5nOwogY2xhc3MgRG9jTG9hZGVyOwot
Y2xhc3MgS1VSTDsKIGNsYXNzIExvYWRlcjsKIGNsYXNzIFJlcXVlc3Q7CiBjbGFzcyBTdHJpbmc7
Ci1jbGFzcyBSZXNvdXJjZUxvYWRlcjsKIAogVmVjdG9yPGNoYXI+IFNlcnZlU3luY2hyb25vdXNS
ZXF1ZXN0KExvYWRlciosIERvY0xvYWRlciosIFJlc291cmNlTG9hZGVyKiwgS1VSTCYgZmluYWxV
UkwsIERlcHJlY2F0ZWRTdHJpbmcmIGhlYWRlcnMpOwogCkBAIC01NywxMCArNTIsMTAgQEAgdm9p
ZCBDaGVja0NhY2hlT2JqZWN0U3RhdHVzKERvY0xvYWRlciosIAogYm9vbCBDaGVja0lmUmVsb2Fk
aW5nKERvY0xvYWRlciopOwogYm9vbCBJc1Jlc3BvbnNlVVJMRXF1YWxUb1VSTChOU1VSTFJlc3Bv
bnNlKiwgY29uc3QgU3RyaW5nJiBVUkwpOwogRGVwcmVjYXRlZFN0cmluZyBSZXNwb25zZVVSTChO
U1VSTFJlc3BvbnNlKik7Ci1EZXByZWNhdGVkU3RyaW5nIFJlc3BvbnNlTUlNRVR5cGUoTlNVUkxS
ZXNwb25zZSopOwotYm9vbCBSZXNwb25zZUlzTXVsdGlwYXJ0KE5TVVJMUmVzcG9uc2UqKTsKK0Rl
cHJlY2F0ZWRTdHJpbmcgUmVzcG9uc2VNSU1FVHlwZShQbGF0Zm9ybVJlc3BvbnNlKTsKK2Jvb2wg
UmVzcG9uc2VJc011bHRpcGFydChQbGF0Zm9ybVJlc3BvbnNlKTsKIGludCBOdW1iZXJPZlBlbmRp
bmdPckxvYWRpbmdSZXF1ZXN0cyhEb2NMb2FkZXIqKTsKLXRpbWVfdCBDYWNoZU9iamVjdEV4cGly
ZXNUaW1lKERvY0xvYWRlciosIE5TVVJMUmVzcG9uc2UqKTsKK3RpbWVfdCBDYWNoZU9iamVjdEV4
cGlyZXNUaW1lKERvY0xvYWRlciosIFBsYXRmb3JtUmVzcG9uc2UpOwogTlNTdHJpbmcqIEhlYWRl
clN0cmluZ0Zyb21EaWN0aW9uYXJ5KE5TRGljdGlvbmFyeSogaGVhZGVycywgaW50IHN0YXR1c0Nv
ZGUpOwogCiB9CkluZGV4OiBXZWJDb3JlL2xvYWRlci9sb2FkZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvbG9hZGVyL2xvYWRlci5jcHAJKHJldmlzaW9uIDE2OTk0KQorKysgV2ViQ29yZS9s
b2FkZXIvbG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIxLDcgKzEyMSw2IEBAIHZvaWQg
TG9hZGVyOjpyZWNlaXZlZEFsbERhdGEoUmVzb3VyY2VMb2EKIAogdm9pZCBMb2FkZXI6OnJlY2Vp
dmVkUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXIqIGpvYiwgUGxhdGZvcm1SZXNwb25zZSByZXNwb25z
ZSkKIHsKLSNpZmRlZiBfX0FQUExFX18KICAgICBSZXF1ZXN0KiByZXEgPSBtX3JlcXVlc3RzTG9h
ZGluZy5nZXQoam9iKTsKICAgICBBU1NFUlQocmVxKTsKICAgICBBU1NFUlQocmVzcG9uc2UpOwpA
QCAtMTQyLDcgKzE0MSw2IEBAIHZvaWQgTG9hZGVyOjpyZWNlaXZlZFJlc3BvbnNlKFJlc291cmNl
TG8KICAgICAgICAgaWYgKCFyZXEtPmNhY2hlZE9iamVjdCgpLT5pc0ltYWdlKCkpCiAgICAgICAg
ICAgICBqb2ItPmNhbmNlbCgpOwogICAgIH0KLSNlbmRpZgogfQogCiB2b2lkIExvYWRlcjo6cmVj
ZWl2ZWREYXRhKFJlc291cmNlTG9hZGVyKiBqb2IsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBzaXpl
KQpJbmRleDogV2ViQ29yZS9sb2FkZXIvbWFjL0xvYWRlckZ1bmN0aW9uc01hYy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9tYWMvTG9hZGVyRnVuY3Rpb25zTWFjLm1tCShyZXZpc2lv
biAxNjk5NCkKKysrIFdlYkNvcmUvbG9hZGVyL21hYy9Mb2FkZXJGdW5jdGlvbnNNYWMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTI0Niw3ICsyNDYsNyBAQCBEZXByZWNhdGVkU3RyaW5nIFJlc3BvbnNl
VVJMKE5TVVJMUmVzcG9uCiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLURlcHJlY2F0ZWRTdHJpbmcg
UmVzcG9uc2VNSU1FVHlwZShOU1VSTFJlc3BvbnNlICpyZXNwb25zZSkKK0RlcHJlY2F0ZWRTdHJp
bmcgUmVzcG9uc2VNSU1FVHlwZShQbGF0Zm9ybVJlc3BvbnNlIHJlc3BvbnNlKQogewogICAgIEJF
R0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAgICByZXR1cm4gRGVwcmVjYXRlZFN0cmluZzo6
ZnJvbU5TU3RyaW5nKFsoTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlIE1JTUVUeXBlXSk7CkBAIC0y
NTUsOCArMjU1LDkgQEAgRGVwcmVjYXRlZFN0cmluZyBSZXNwb25zZU1JTUVUeXBlKE5TVVJMUgog
ICAgIHJldHVybiBEZXByZWNhdGVkU3RyaW5nKCk7CiB9CiAKLWJvb2wgUmVzcG9uc2VJc011bHRp
cGFydChOU1VSTFJlc3BvbnNlICpyZXNwb25zZSkKK2Jvb2wgUmVzcG9uc2VJc011bHRpcGFydChQ
bGF0Zm9ybVJlc3BvbnNlIHBsYXRSZXNwb25zZSkKIHsKKyAgICBOU1VSTFJlc3BvbnNlKiByZXNw
b25zZShwbGF0UmVzcG9uc2UpOwogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAg
ICByZXR1cm4gW1tyZXNwb25zZSBNSU1FVHlwZV0gaXNFcXVhbFRvU3RyaW5nOkAibXVsdGlwYXJ0
L3gtbWl4ZWQtcmVwbGFjZSJdOwogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CkBAIC0y
NjQsOCArMjY1LDkgQEAgYm9vbCBSZXNwb25zZUlzTXVsdGlwYXJ0KE5TVVJMUmVzcG9uc2UgKgog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAotdGltZV90IENhY2hlT2JqZWN0RXhwaXJlc1RpbWUoRG9j
TG9hZGVyICpkb2NMb2FkZXIsIE5TVVJMUmVzcG9uc2UgKnJlc3BvbnNlKQordGltZV90IENhY2hl
T2JqZWN0RXhwaXJlc1RpbWUoRG9jTG9hZGVyICpkb2NMb2FkZXIsIFBsYXRmb3JtUmVzcG9uc2Ug
cGxhdFJlc3BvbnNlKQogeworICAgIE5TVVJMUmVzcG9uc2UqIHJlc3BvbnNlKHBsYXRSZXNwb25z
ZSk7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIAogICAgIEZyYW1lTWFj
ICpmcmFtZSA9IHN0YXRpY19jYXN0PEZyYW1lTWFjICo+KGRvY0xvYWRlci0+ZnJhbWUoKSk7Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1RlbXBvcmFyeUxpbmtTdHVicy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCShyZXZpc2lv
biAxNjk5NCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vcXQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0OCw5IEBAIGJvb2wgSWNvbkRhdGFiYXNlOjpzZXRJ
Y29uVVJMRm9yUGFnZVVSTCgKIHZvaWQgQ2hlY2tDYWNoZU9iamVjdFN0YXR1cyhEb2NMb2FkZXIq
LCBDYWNoZWRSZXNvdXJjZSopIHsgfQogYm9vbCBDaGVja0lmUmVsb2FkaW5nKFdlYkNvcmU6OkRv
Y0xvYWRlciopIHsgcmV0dXJuIGZhbHNlOyB9CiBWZWN0b3I8Y2hhcj4gU2VydmVTeW5jaHJvbm91
c1JlcXVlc3QoTG9hZGVyKiwgRG9jTG9hZGVyKiwgUmVzb3VyY2VMb2FkZXIqLCBLVVJMJiwgRGVw
cmVjYXRlZFN0cmluZyYpIHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIFZlY3RvcjxjaGFyPigp
OyB9Cit0aW1lX3QgQ2FjaGVPYmplY3RFeHBpcmVzVGltZShEb2NMb2FkZXIqLCBQbGF0Zm9ybVJl
c3BvbnNlKikgeyByZXR1cm4gMDsgfQorYm9vbCBSZXNwb25zZUlzTXVsdGlwYXJ0KFBsYXRmb3Jt
UmVzcG9uc2UqKSB7IHJldHVybiBmYWxzZTsgfQorRGVwcmVjYXRlZFN0cmluZyBSZXNwb25zZU1J
TUVUeXBlKFBsYXRmb3JtUmVzcG9uc2UpIHsgcmV0dXJuIERlcHJlY2F0ZWRTdHJpbmcoKTsgfQog
fQogCiBib29sIFdlYkNvcmU6Omhpc3RvcnlDb250YWlucyhEZXByZWNhdGVkU3RyaW5nIGNvbnN0
JikgeyByZXR1cm4gZmFsc2U7IH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vd2luL1RlbXBvcmFy
eUxpbmtTdHVicy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS93aW4vVGVtcG9y
YXJ5TGlua1N0dWJzLmNwcAkocmV2aXNpb24gMTY5OTQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3dp
bi9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTUsNiArMjU1LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBib29sIENoZWNrSWZSZWxvYWRpbmcoV2ViQ29yZTo6
RG9jTG9hZGVyKikgeyByZXR1cm4gZmFsc2U7IH0KIHZvaWQgQ2hlY2tDYWNoZU9iamVjdFN0YXR1
cyhEb2NMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSopIHsgfQordGltZV90IENhY2hlT2JqZWN0RXhw
aXJlc1RpbWUoRG9jTG9hZGVyKiwgUGxhdGZvcm1SZXNwb25zZSopIHsgcmV0dXJuIDA7IH0KK2Jv
b2wgUmVzcG9uc2VJc011bHRpcGFydChQbGF0Zm9ybVJlc3BvbnNlKikgeyByZXR1cm4gZmFsc2U7
IH0KK0RlcHJlY2F0ZWRTdHJpbmcgUmVzcG9uc2VNSU1FVHlwZShQbGF0Zm9ybVJlc3BvbnNlKSB7
IHJldHVybiBEZXByZWNhdGVkU3RyaW5nKCk7IH0KIAogfQogCg==
</data>
<flag name="review"
          id="3731"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11046</attachid>
            <date>2006-10-12 10:02:28 -0700</date>
            <delta_ts>2006-10-12 10:51:38 -0700</delta_ts>
            <desc>Included fixes from mjs&apos;s comment</desc>
            <filename>plat2.txt</filename>
            <type>text/plain</type>
            <size>11289</size>
            <attacher name="David Carson">dacarson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNzAwOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDQgQEAKKzIwMDYtMTAtMTIgIERhdmlkIENhcnNvbiAgZGFjYXJzb25AZ21haWwu
Y29tCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
OiBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI1NworICAgICAgICBS
ZW1vdmVkIE1hYyBwbGF0Zm9ybSBkZXBlbmRhbmNlLCBjaGFuZ2VkIFdlYkNvcmUgZnVuY3Rpb25z
IHRvCisgICAgICAgIHVzZSBQbGF0Zm9ybVJlc3BvbnNlL1BsYXRmb3JtRGF0YSByYXRoZXIgdGhh
biBOU1VSTFJlc3BvbnNlLworICAgICAgICBOU0RhdGEuIAorCisgICAgICAgICogbG9hZGVyL0Nh
Y2hlZENTU1N0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkQ1NTU3R5bGVT
aGVldDo6Y2hlY2tOb3RpZnkpOgorICAgICAgICAqIGxvYWRlci9DYWNoZWRJbWFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6Y3JlYXRlSW1hZ2UpOgorICAgICAgICAqIGxv
YWRlci9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZTo6fkNhY2hlZFJlc291cmNlKToKKyAgICAgICAgKiBsb2FkZXIvQ2FjaGVkUmVzb3VyY2UuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpDYWNoZWRSZXNvdXJjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6cmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmFsbERhdGEpOgorICAgICAgICAqIGxvYWRlci9Mb2FkZXJGdW5j
dGlvbnMuaDoKKyAgICAgICAgKiBsb2FkZXIvbG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxvYWRlcjo6cmVjZWl2ZWRSZXNwb25zZSk6CisgICAgICAgICogbG9hZGVyL21hYy9Mb2FkZXJG
dW5jdGlvbnNNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNwb25zZU1JTUVUeXBlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc3BvbnNlSXNNdWx0aXBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVPYmplY3RFeHBpcmVzVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZTo6c2V0UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldEFs
bERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1RlbXBvcmFyeUxpbmtTdHVicy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZU9iamVjdEV4cGlyZXNUaW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc3BvbnNlSXNNdWx0aXBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVzcG9uc2VNSU1F
VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c2V0UmVzcG9uc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldEFsbERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL3dpbi9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVPYmplY3RFeHBpcmVzVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNwb25zZUlzTXVs
dGlwYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc3BvbnNlTUlNRVR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldFJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlOjpzZXRBbGxEYXRhKToKKwogMjAwNi0xMC0xMiAgUm9iIEJ1aXMgIDxi
dWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWl0ei4KSW5kZXg6IFdlYkNvcmUv
bG9hZGVyL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9h
ZGVyL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCShyZXZpc2lvbiAxNjk5NCkKKysrIFdlYkNvcmUv
bG9hZGVyL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSwxMSAr
OTUsOSBAQCB2b2lkIENhY2hlZENTU1N0eWxlU2hlZXQ6OmNoZWNrTm90aWZ5KCkKIAogICAgIENh
Y2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyIHcobV9jbGllbnRzKTsKICAgICB3aGlsZSAoQ2FjaGVk
UmVzb3VyY2VDbGllbnQgKmMgPSB3Lm5leHQoKSkgewotI2lmIF9fQVBQTEVfXwogICAgICAgICBp
ZiAobV9yZXNwb25zZSAmJiAhSXNSZXNwb25zZVVSTEVxdWFsVG9VUkwobV9yZXNwb25zZSwgbV91
cmwpKQogICAgICAgICAgICAgYy0+c2V0Q1NTU3R5bGVTaGVldChSZXNwb25zZVVSTChtX3Jlc3Bv
bnNlKSwgbV9kZWNvZGVyLT5lbmNvZGluZygpLm5hbWUoKSwgbV9zaGVldCk7CiAgICAgICAgIGVs
c2UKLSNlbmRpZgogICAgICAgICAgICAgYy0+c2V0Q1NTU3R5bGVTaGVldChtX3VybCwgbV9kZWNv
ZGVyLT5lbmNvZGluZygpLm5hbWUoKSwgbV9zaGVldCk7CiAgICAgfQogfQpJbmRleDogV2ViQ29y
ZS9sb2FkZXIvQ2FjaGVkSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0Nh
Y2hlZEltYWdlLmNwcAkocmV2aXNpb24gMTY5OTQpCisrKyBXZWJDb3JlL2xvYWRlci9DYWNoZWRJ
bWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSwxMSArMTE1LDcgQEAgaW5saW5lIHZvaWQg
Q2FjaGVkSW1hZ2U6OmNyZWF0ZUltYWdlKCkKIHsKICAgICAvLyBDcmVhdGUgdGhlIGltYWdlIGlm
IGl0IGRvZXNuJ3QgeWV0IGV4aXN0LgogICAgIGlmICghbV9pbWFnZSkKLSNpZiBfX0FQUExFX18K
ICAgICAgICAgbV9pbWFnZSA9IG5ldyBJbWFnZSh0aGlzLCBSZXNwb25zZU1JTUVUeXBlKG1fcmVz
cG9uc2UpID09ICJhcHBsaWNhdGlvbi9wZGYiKTsKLSNlbHNlCi0gICAgICAgIG1faW1hZ2UgPSBu
ZXcgSW1hZ2UodGhpcywgZmFsc2UpOwotI2VuZGlmCiB9CiAKIFZlY3RvcjxjaGFyPiYgQ2FjaGVk
SW1hZ2U6OmJ1ZmZlckRhdGEoY29uc3QgY2hhciogYnl0ZXMsIGludCBhZGRlZFNpemUsIFJlcXVl
c3QqIHJlcXVlc3QpCkluZGV4OiBXZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwCShyZXZpc2lvbiAx
Njk5NCkKKysrIFdlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsMTAgKzQyLDggQEAgQ2FjaGVkUmVzb3VyY2U6On5DYWNoZWRSZXNvdXJjZSgpCiAg
ICAgICAgIGFib3J0KCk7CiAgICAgQ2FjaGU6OnJlbW92ZUZyb21MUlVMaXN0KHRoaXMpOwogICAg
IG1fZGVsZXRlZCA9IHRydWU7Ci0jaWYgX19BUFBMRV9fCiAgICAgc2V0UmVzcG9uc2UoMCk7CiAg
ICAgc2V0QWxsRGF0YSgwKTsKLSNlbmRpZgogfQogCiBWZWN0b3I8Y2hhcj4mIENhY2hlZFJlc291
cmNlOjpidWZmZXJEYXRhKGNvbnN0IGNoYXIqIGJ5dGVzLCBpbnQgYWRkZWRTaXplLCBSZXF1ZXN0
KiByZXF1ZXN0KQpJbmRleDogV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5oCShyZXZpc2lvbiAxNjk5NCkK
KysrIFdlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHRpbWUu
aD4KQEAgLTg2LDEwICs4Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIG1f
ZnJlZSA9IGZhbHNlOwogICAgICAgICAgICAgbV9jYWNoZVBvbGljeSA9IGNhY2hlUG9saWN5Owog
ICAgICAgICAgICAgbV9yZXF1ZXN0ID0gMDsKLSNpZiBfX0FQUExFX18KICAgICAgICAgICAgIG1f
cmVzcG9uc2UgPSAwOwogICAgICAgICAgICAgbV9hbGxEYXRhID0gMDsKLSNlbmRpZgogICAgICAg
ICAgICAgbV9leHBpcmVEYXRlID0gZXhwaXJlRGF0ZTsKICAgICAgICAgICAgIG1fZGVsZXRlZCA9
IGZhbHNlOwogICAgICAgICAgICAgbV9leHBpcmVEYXRlQ2hhbmdlZCA9IGZhbHNlOwpAQCAtMTQz
LDEyICsxNDIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZvaWQgc2V0UmVx
dWVzdChSZXF1ZXN0Kik7CiAKLSNpZiBfX0FQUExFX18KLSAgICAgICAgTlNVUkxSZXNwb25zZSog
cmVzcG9uc2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlOyB9Ci0gICAgICAgIHZvaWQgc2V0
UmVzcG9uc2UoTlNVUkxSZXNwb25zZSopOwotICAgICAgICBOU0RhdGEqIGFsbERhdGEoKSBjb25z
dCB7IHJldHVybiBtX2FsbERhdGE7IH0KLSAgICAgICAgdm9pZCBzZXRBbGxEYXRhKE5TRGF0YSop
OwotI2VuZGlmCisgICAgICAgIFBsYXRmb3JtUmVzcG9uc2UgcmVzcG9uc2UoKSBjb25zdCB7IHJl
dHVybiBtX3Jlc3BvbnNlOyB9CisgICAgICAgIHZvaWQgc2V0UmVzcG9uc2UoUGxhdGZvcm1SZXNw
b25zZSk7CisgICAgICAgIFBsYXRmb3JtRGF0YSBhbGxEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9h
bGxEYXRhOyB9CisgICAgICAgIHZvaWQgc2V0QWxsRGF0YShQbGF0Zm9ybURhdGEpOwogCiAgICAg
ICAgIGJvb2wgY2FuRGVsZXRlKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnRzLmlzRW1wdHkoKSAm
JiAhbV9yZXF1ZXN0OyB9CiAKQEAgLTE3MiwxMCArMTY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBTdHJpbmcgbV9hY2NlcHQ7CiAgICAgICAgIFJlcXVlc3QqIG1fcmVxdWVzdDsK
IAotI2lmIF9fQVBQTEVfXwotICAgICAgICBOU1VSTFJlc3BvbnNlICptX3Jlc3BvbnNlOwotICAg
ICAgICBOU0RhdGEgKm1fYWxsRGF0YTsKLSNlbmRpZgorICAgICAgICBQbGF0Zm9ybVJlc3BvbnNl
IG1fcmVzcG9uc2U7CisgICAgICAgIFBsYXRmb3JtRGF0YSBtX2FsbERhdGE7CiAKICAgICAgICAg
VHlwZSBtX3R5cGU7CiAgICAgICAgIFN0YXR1cyBtX3N0YXR1czsKSW5kZXg6IFdlYkNvcmUvbG9h
ZGVyL0xvYWRlckZ1bmN0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0xvYWRl
ckZ1bmN0aW9ucy5oCShyZXZpc2lvbiAxNjk5NCkKKysrIFdlYkNvcmUvbG9hZGVyL0xvYWRlckZ1
bmN0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwxMSArMjQsMTAgQEAKICAqLwogCiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyQ2xpZW50LmgiICAv
LyBEZWZpbmVzIFBsYXRmb3JtUmVzcG9uc2UKIAogI2lmZGVmIF9fT0JKQ19fCiBAY2xhc3MgTlNE
aWN0aW9uYXJ5OwotQGNsYXNzIE5TU3RyaW5nOwotQGNsYXNzIE5TVVJMUmVzcG9uc2U7CiAKIEBp
bnRlcmZhY2UgTlNEaWN0aW9uYXJ5IChXZWJDb3JlX0V4dHJhcykKICsgKGlkKV93ZWJjb3JlX2Rp
Y3Rpb25hcnlXaXRoSGVhZGVyU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZzsKQEAgLTM2LDggKzM1
LDYgQEAKIAogI2Vsc2UKIGNsYXNzIE5TRGljdGlvbmFyeTsKLWNsYXNzIE5TU3RyaW5nOwotY2xh
c3MgTlNVUkxSZXNwb25zZTsKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSwy
MiArNDIsMjAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiBj
bGFzcyBEZXByZWNhdGVkU3RyaW5nOwogY2xhc3MgRG9jTG9hZGVyOwotY2xhc3MgS1VSTDsKIGNs
YXNzIExvYWRlcjsKIGNsYXNzIFJlcXVlc3Q7CiBjbGFzcyBTdHJpbmc7Ci1jbGFzcyBSZXNvdXJj
ZUxvYWRlcjsKIAogVmVjdG9yPGNoYXI+IFNlcnZlU3luY2hyb25vdXNSZXF1ZXN0KExvYWRlcios
IERvY0xvYWRlciosIFJlc291cmNlTG9hZGVyKiwgS1VSTCYgZmluYWxVUkwsIERlcHJlY2F0ZWRT
dHJpbmcmIGhlYWRlcnMpOwogCiB2b2lkIENoZWNrQ2FjaGVPYmplY3RTdGF0dXMoRG9jTG9hZGVy
KiwgQ2FjaGVkUmVzb3VyY2UqKTsKIGJvb2wgQ2hlY2tJZlJlbG9hZGluZyhEb2NMb2FkZXIqKTsK
LWJvb2wgSXNSZXNwb25zZVVSTEVxdWFsVG9VUkwoTlNVUkxSZXNwb25zZSosIGNvbnN0IFN0cmlu
ZyYgVVJMKTsKLURlcHJlY2F0ZWRTdHJpbmcgUmVzcG9uc2VVUkwoTlNVUkxSZXNwb25zZSopOwot
RGVwcmVjYXRlZFN0cmluZyBSZXNwb25zZU1JTUVUeXBlKE5TVVJMUmVzcG9uc2UqKTsKLWJvb2wg
UmVzcG9uc2VJc011bHRpcGFydChOU1VSTFJlc3BvbnNlKik7Citib29sIElzUmVzcG9uc2VVUkxF
cXVhbFRvVVJMKFBsYXRmb3JtUmVzcG9uc2UgLCBjb25zdCBTdHJpbmcmIFVSTCk7CitEZXByZWNh
dGVkU3RyaW5nIFJlc3BvbnNlVVJMKFBsYXRmb3JtUmVzcG9uc2UpOworRGVwcmVjYXRlZFN0cmlu
ZyBSZXNwb25zZU1JTUVUeXBlKFBsYXRmb3JtUmVzcG9uc2UpOworYm9vbCBSZXNwb25zZUlzTXVs
dGlwYXJ0KFBsYXRmb3JtUmVzcG9uc2UpOwogaW50IE51bWJlck9mUGVuZGluZ09yTG9hZGluZ1Jl
cXVlc3RzKERvY0xvYWRlciopOwotdGltZV90IENhY2hlT2JqZWN0RXhwaXJlc1RpbWUoRG9jTG9h
ZGVyKiwgTlNVUkxSZXNwb25zZSopOwordGltZV90IENhY2hlT2JqZWN0RXhwaXJlc1RpbWUoRG9j
TG9hZGVyKiwgUGxhdGZvcm1SZXNwb25zZSk7CiBOU1N0cmluZyogSGVhZGVyU3RyaW5nRnJvbURp
Y3Rpb25hcnkoTlNEaWN0aW9uYXJ5KiBoZWFkZXJzLCBpbnQgc3RhdHVzQ29kZSk7CiAKIH0KSW5k
ZXg6IFdlYkNvcmUvbG9hZGVyL2xvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2Fk
ZXIvbG9hZGVyLmNwcAkocmV2aXNpb24gMTY5OTQpCisrKyBXZWJDb3JlL2xvYWRlci9sb2FkZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyArMTIxLDYgQEAgdm9pZCBMb2FkZXI6OnJlY2Vp
dmVkQWxsRGF0YShSZXNvdXJjZUxvYQogCiB2b2lkIExvYWRlcjo6cmVjZWl2ZWRSZXNwb25zZShS
ZXNvdXJjZUxvYWRlciogam9iLCBQbGF0Zm9ybVJlc3BvbnNlIHJlc3BvbnNlKQogewotI2lmZGVm
IF9fQVBQTEVfXwogICAgIFJlcXVlc3QqIHJlcSA9IG1fcmVxdWVzdHNMb2FkaW5nLmdldChqb2Ip
OwogICAgIEFTU0VSVChyZXEpOwogICAgIEFTU0VSVChyZXNwb25zZSk7CkBAIC0xNDIsNyArMTQx
LDYgQEAgdm9pZCBMb2FkZXI6OnJlY2VpdmVkUmVzcG9uc2UoUmVzb3VyY2VMbwogICAgICAgICBp
ZiAoIXJlcS0+Y2FjaGVkT2JqZWN0KCktPmlzSW1hZ2UoKSkKICAgICAgICAgICAgIGpvYi0+Y2Fu
Y2VsKCk7CiAgICAgfQotI2VuZGlmCiB9CiAKIHZvaWQgTG9hZGVyOjpyZWNlaXZlZERhdGEoUmVz
b3VyY2VMb2FkZXIqIGpvYiwgY29uc3QgY2hhciogZGF0YSwgaW50IHNpemUpCkluZGV4OiBXZWJD
b3JlL2xvYWRlci9tYWMvTG9hZGVyRnVuY3Rpb25zTWFjLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvbG9hZGVyL21hYy9Mb2FkZXJGdW5jdGlvbnNNYWMubW0JKHJldmlzaW9uIDE2OTk0KQorKysg
V2ViQ29yZS9sb2FkZXIvbWFjL0xvYWRlckZ1bmN0aW9uc01hYy5tbQkod29ya2luZyBjb3B5KQpA
QCAtMjQ2LDcgKzI0Niw3IEBAIERlcHJlY2F0ZWRTdHJpbmcgUmVzcG9uc2VVUkwoTlNVUkxSZXNw
b24KICAgICByZXR1cm4gTlVMTDsKIH0KIAotRGVwcmVjYXRlZFN0cmluZyBSZXNwb25zZU1JTUVU
eXBlKE5TVVJMUmVzcG9uc2UgKnJlc3BvbnNlKQorRGVwcmVjYXRlZFN0cmluZyBSZXNwb25zZU1J
TUVUeXBlKFBsYXRmb3JtUmVzcG9uc2UgcmVzcG9uc2UpCiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JK
Q19FWENFUFRJT05TOwogICAgIHJldHVybiBEZXByZWNhdGVkU3RyaW5nOjpmcm9tTlNTdHJpbmco
WyhOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UgTUlNRVR5cGVdKTsKQEAgLTI1NSw3ICsyNTUsNyBA
QCBEZXByZWNhdGVkU3RyaW5nIFJlc3BvbnNlTUlNRVR5cGUoTlNVUkxSCiAgICAgcmV0dXJuIERl
cHJlY2F0ZWRTdHJpbmcoKTsKIH0KIAotYm9vbCBSZXNwb25zZUlzTXVsdGlwYXJ0KE5TVVJMUmVz
cG9uc2UgKnJlc3BvbnNlKQorYm9vbCBSZXNwb25zZUlzTXVsdGlwYXJ0KFBsYXRmb3JtUmVzcG9u
c2UgcmVzcG9uc2UpCiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIHJl
dHVybiBbW3Jlc3BvbnNlIE1JTUVUeXBlXSBpc0VxdWFsVG9TdHJpbmc6QCJtdWx0aXBhcnQveC1t
aXhlZC1yZXBsYWNlIl07CkBAIC0yNjQsNyArMjY0LDcgQEAgYm9vbCBSZXNwb25zZUlzTXVsdGlw
YXJ0KE5TVVJMUmVzcG9uc2UgKgogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdGltZV90IENhY2hl
T2JqZWN0RXhwaXJlc1RpbWUoRG9jTG9hZGVyICpkb2NMb2FkZXIsIE5TVVJMUmVzcG9uc2UgKnJl
c3BvbnNlKQordGltZV90IENhY2hlT2JqZWN0RXhwaXJlc1RpbWUoRG9jTG9hZGVyICpkb2NMb2Fk
ZXIsIFBsYXRmb3JtUmVzcG9uc2UgcmVzcG9uc2UpCiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19F
WENFUFRJT05TOwogICAgIApAQCAtMjc5LDcgKzI3OSw3IEBAIHRpbWVfdCBDYWNoZU9iamVjdEV4
cGlyZXNUaW1lKERvY0xvYWRlciAKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBDYWNoZWRSZXNv
dXJjZTo6c2V0UmVzcG9uc2UoTlNVUkxSZXNwb25zZSAqcmVzcG9uc2UpCit2b2lkIENhY2hlZFJl
c291cmNlOjpzZXRSZXNwb25zZShQbGF0Zm9ybVJlc3BvbnNlIHJlc3BvbnNlKQogewogICAgIEhh
cmRSZXRhaW4ocmVzcG9uc2UpOwogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKQEAg
LTI4OSw3ICsyODksNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzZXRSZXNwb25zZShOU1VSTFJl
CiAgICAgbV9yZXNwb25zZSA9IHJlc3BvbnNlOwogfQogCi12b2lkIENhY2hlZFJlc291cmNlOjpz
ZXRBbGxEYXRhKE5TRGF0YSAqYWxsRGF0YSkKK3ZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldEFsbERh
dGEoUGxhdGZvcm1EYXRhIGFsbERhdGEpCiB7CiAgICAgSGFyZFJldGFpbihhbGxEYXRhKTsKICAg
ICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0
L1RlbXBvcmFyeUxpbmtTdHVicy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9x
dC9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCShyZXZpc2lvbiAxNjk5NCkKKysrIFdlYkNvcmUvcGxh
dGZvcm0vcXQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYg
KzE0OCwxMSBAQCBib29sIEljb25EYXRhYmFzZTo6c2V0SWNvblVSTEZvclBhZ2VVUkwoCiB2b2lk
IENoZWNrQ2FjaGVPYmplY3RTdGF0dXMoRG9jTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqKSB7IH0K
IGJvb2wgQ2hlY2tJZlJlbG9hZGluZyhXZWJDb3JlOjpEb2NMb2FkZXIqKSB7IHJldHVybiBmYWxz
ZTsgfQogVmVjdG9yPGNoYXI+IFNlcnZlU3luY2hyb25vdXNSZXF1ZXN0KExvYWRlciosIERvY0xv
YWRlciosIFJlc291cmNlTG9hZGVyKiwgS1VSTCYsIERlcHJlY2F0ZWRTdHJpbmcmKSB7IG5vdElt
cGxlbWVudGVkKCk7IHJldHVybiBWZWN0b3I8Y2hhcj4oKTsgfQordGltZV90IENhY2hlT2JqZWN0
RXhwaXJlc1RpbWUoRG9jTG9hZGVyKiwgUGxhdGZvcm1SZXNwb25zZSopIHsgcmV0dXJuIDA7IH0K
K2Jvb2wgUmVzcG9uc2VJc011bHRpcGFydChQbGF0Zm9ybVJlc3BvbnNlKikgeyByZXR1cm4gZmFs
c2U7IH0KK0RlcHJlY2F0ZWRTdHJpbmcgUmVzcG9uc2VNSU1FVHlwZShQbGF0Zm9ybVJlc3BvbnNl
KSB7IHJldHVybiBEZXByZWNhdGVkU3RyaW5nKCk7IH0KK2Jvb2wgSXNSZXNwb25zZVVSTEVxdWFs
VG9VUkwoUGxhdGZvcm1SZXNwb25zZSAsIGNvbnN0IFN0cmluZyYgVVJMKSB7IHJldHVybiBmYWxz
ZTsgfQorRGVwcmVjYXRlZFN0cmluZyBSZXNwb25zZVVSTChQbGF0Zm9ybVJlc3BvbnNlKSB7IHJl
dHVybiBEZXByZWNhdGVkU3RyaW5nKCk7IH0KIH0KIAogYm9vbCBXZWJDb3JlOjpoaXN0b3J5Q29u
dGFpbnMoRGVwcmVjYXRlZFN0cmluZyBjb25zdCYpIHsgcmV0dXJuIGZhbHNlOyB9CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL3dpbi9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vd2luL1RlbXBvcmFyeUxpbmtTdHVicy5jcHAJKHJldmlzaW9uIDE2
OTk0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS93aW4vVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjU1LDYgKzI1NSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGJv
b2wgQ2hlY2tJZlJlbG9hZGluZyhXZWJDb3JlOjpEb2NMb2FkZXIqKSB7IHJldHVybiBmYWxzZTsg
fQogdm9pZCBDaGVja0NhY2hlT2JqZWN0U3RhdHVzKERvY0xvYWRlciosIENhY2hlZFJlc291cmNl
KikgeyB9Cit0aW1lX3QgQ2FjaGVPYmplY3RFeHBpcmVzVGltZShEb2NMb2FkZXIqLCBQbGF0Zm9y
bVJlc3BvbnNlKikgeyByZXR1cm4gMDsgfQorYm9vbCBSZXNwb25zZUlzTXVsdGlwYXJ0KFBsYXRm
b3JtUmVzcG9uc2UqKSB7IHJldHVybiBmYWxzZTsgfQorRGVwcmVjYXRlZFN0cmluZyBSZXNwb25z
ZU1JTUVUeXBlKFBsYXRmb3JtUmVzcG9uc2UpIHsgcmV0dXJuIERlcHJlY2F0ZWRTdHJpbmcoKTsg
fQorYm9vbCBJc1Jlc3BvbnNlVVJMRXF1YWxUb1VSTChQbGF0Zm9ybVJlc3BvbnNlICwgY29uc3Qg
U3RyaW5nJiBVUkwpIHsgcmV0dXJuIGZhbHNlOyB9CitEZXByZWNhdGVkU3RyaW5nIFJlc3BvbnNl
VVJMKFBsYXRmb3JtUmVzcG9uc2UpIHsgcmV0dXJuIERlcHJlY2F0ZWRTdHJpbmcoKTsgfQogCiB9
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11047</attachid>
            <date>2006-10-12 10:51:38 -0700</date>
            <delta_ts>2006-10-13 13:46:45 -0700</delta_ts>
            <desc>missed some non-mac build items</desc>
            <filename>plat2.txt</filename>
            <type>text/plain</type>
            <size>12429</size>
            <attacher name="David Carson">dacarson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNzAwOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDQgQEAKKzIwMDYtMTAtMTIgIERhdmlkIENhcnNvbiAgZGFjYXJzb25AZ21haWwu
Y29tCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
OiBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI1NworICAgICAgICBS
ZW1vdmVkIE1hYyBwbGF0Zm9ybSBkZXBlbmRhbmNlLCBjaGFuZ2VkIFdlYkNvcmUgZnVuY3Rpb25z
IHRvCisgICAgICAgIHVzZSBQbGF0Zm9ybVJlc3BvbnNlL1BsYXRmb3JtRGF0YSByYXRoZXIgdGhh
biBOU1VSTFJlc3BvbnNlLworICAgICAgICBOU0RhdGEuIAorCisgICAgICAgICogbG9hZGVyL0Nh
Y2hlZENTU1N0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkQ1NTU3R5bGVT
aGVldDo6Y2hlY2tOb3RpZnkpOgorICAgICAgICAqIGxvYWRlci9DYWNoZWRJbWFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6Y3JlYXRlSW1hZ2UpOgorICAgICAgICAqIGxv
YWRlci9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZTo6fkNhY2hlZFJlc291cmNlKToKKyAgICAgICAgKiBsb2FkZXIvQ2FjaGVkUmVzb3VyY2UuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpDYWNoZWRSZXNvdXJjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6cmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmFsbERhdGEpOgorICAgICAgICAqIGxvYWRlci9Mb2FkZXJGdW5j
dGlvbnMuaDoKKyAgICAgICAgKiBsb2FkZXIvbG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxvYWRlcjo6cmVjZWl2ZWRSZXNwb25zZSk6CisgICAgICAgICogbG9hZGVyL21hYy9Mb2FkZXJG
dW5jdGlvbnNNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNwb25zZU1JTUVUeXBlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc3BvbnNlSXNNdWx0aXBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVPYmplY3RFeHBpcmVzVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZTo6c2V0UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldEFs
bERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1RlbXBvcmFyeUxpbmtTdHVicy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZU9iamVjdEV4cGlyZXNUaW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc3BvbnNlSXNNdWx0aXBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVzcG9uc2VNSU1F
VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c2V0UmVzcG9uc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldEFsbERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL3dpbi9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVPYmplY3RFeHBpcmVzVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNwb25zZUlzTXVs
dGlwYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc3BvbnNlTUlNRVR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnNldFJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlOjpzZXRBbGxEYXRhKToKKwogMjAwNi0xMC0xMiAgUm9iIEJ1aXMgIDxi
dWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWl0ei4KSW5kZXg6IFdlYkNvcmUv
bG9hZGVyL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9h
ZGVyL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCShyZXZpc2lvbiAxNjk5NCkKKysrIFdlYkNvcmUv
bG9hZGVyL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSwxMSAr
OTUsOSBAQCB2b2lkIENhY2hlZENTU1N0eWxlU2hlZXQ6OmNoZWNrTm90aWZ5KCkKIAogICAgIENh
Y2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyIHcobV9jbGllbnRzKTsKICAgICB3aGlsZSAoQ2FjaGVk
UmVzb3VyY2VDbGllbnQgKmMgPSB3Lm5leHQoKSkgewotI2lmIF9fQVBQTEVfXwogICAgICAgICBp
ZiAobV9yZXNwb25zZSAmJiAhSXNSZXNwb25zZVVSTEVxdWFsVG9VUkwobV9yZXNwb25zZSwgbV91
cmwpKQogICAgICAgICAgICAgYy0+c2V0Q1NTU3R5bGVTaGVldChSZXNwb25zZVVSTChtX3Jlc3Bv
bnNlKSwgbV9kZWNvZGVyLT5lbmNvZGluZygpLm5hbWUoKSwgbV9zaGVldCk7CiAgICAgICAgIGVs
c2UKLSNlbmRpZgogICAgICAgICAgICAgYy0+c2V0Q1NTU3R5bGVTaGVldChtX3VybCwgbV9kZWNv
ZGVyLT5lbmNvZGluZygpLm5hbWUoKSwgbV9zaGVldCk7CiAgICAgfQogfQpJbmRleDogV2ViQ29y
ZS9sb2FkZXIvQ2FjaGVkSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0Nh
Y2hlZEltYWdlLmNwcAkocmV2aXNpb24gMTY5OTQpCisrKyBXZWJDb3JlL2xvYWRlci9DYWNoZWRJ
bWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSwxMSArMTE1LDcgQEAgaW5saW5lIHZvaWQg
Q2FjaGVkSW1hZ2U6OmNyZWF0ZUltYWdlKCkKIHsKICAgICAvLyBDcmVhdGUgdGhlIGltYWdlIGlm
IGl0IGRvZXNuJ3QgeWV0IGV4aXN0LgogICAgIGlmICghbV9pbWFnZSkKLSNpZiBfX0FQUExFX18K
ICAgICAgICAgbV9pbWFnZSA9IG5ldyBJbWFnZSh0aGlzLCBSZXNwb25zZU1JTUVUeXBlKG1fcmVz
cG9uc2UpID09ICJhcHBsaWNhdGlvbi9wZGYiKTsKLSNlbHNlCi0gICAgICAgIG1faW1hZ2UgPSBu
ZXcgSW1hZ2UodGhpcywgZmFsc2UpOwotI2VuZGlmCiB9CiAKIFZlY3RvcjxjaGFyPiYgQ2FjaGVk
SW1hZ2U6OmJ1ZmZlckRhdGEoY29uc3QgY2hhciogYnl0ZXMsIGludCBhZGRlZFNpemUsIFJlcXVl
c3QqIHJlcXVlc3QpCkluZGV4OiBXZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwCShyZXZpc2lvbiAx
Njk5NCkKKysrIFdlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsMTAgKzQyLDggQEAgQ2FjaGVkUmVzb3VyY2U6On5DYWNoZWRSZXNvdXJjZSgpCiAg
ICAgICAgIGFib3J0KCk7CiAgICAgQ2FjaGU6OnJlbW92ZUZyb21MUlVMaXN0KHRoaXMpOwogICAg
IG1fZGVsZXRlZCA9IHRydWU7Ci0jaWYgX19BUFBMRV9fCiAgICAgc2V0UmVzcG9uc2UoMCk7CiAg
ICAgc2V0QWxsRGF0YSgwKTsKLSNlbmRpZgogfQogCiBWZWN0b3I8Y2hhcj4mIENhY2hlZFJlc291
cmNlOjpidWZmZXJEYXRhKGNvbnN0IGNoYXIqIGJ5dGVzLCBpbnQgYWRkZWRTaXplLCBSZXF1ZXN0
KiByZXF1ZXN0KQpJbmRleDogV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5oCShyZXZpc2lvbiAxNjk5NCkK
KysrIFdlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDE4ICszMCwxMSBAQAogCiAjaW5jbHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyQ2xpZW50LmgiIC8vIGRlZmlu
ZXMgUGxhdGZvcm1SZXNwb25zZSBhbmQgUGxhdGZvcm1EYXRhCiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8dGltZS5oPgogCi0jaWZk
ZWYgX19PQkpDX18KLUBjbGFzcyBOU0RhdGE7Ci1AY2xhc3MgTlNVUkxSZXNwb25zZTsKLSNlbHNl
Ci1jbGFzcyBOU0RhdGE7Ci1jbGFzcyBOU1VSTFJlc3BvbnNlOwotI2VuZGlmCi0KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudDsKICAgICBjbGFzcyBS
ZXF1ZXN0OwpAQCAtODYsMTAgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAg
ICAgbV9mcmVlID0gZmFsc2U7CiAgICAgICAgICAgICBtX2NhY2hlUG9saWN5ID0gY2FjaGVQb2xp
Y3k7CiAgICAgICAgICAgICBtX3JlcXVlc3QgPSAwOwotI2lmIF9fQVBQTEVfXwogICAgICAgICAg
ICAgbV9yZXNwb25zZSA9IDA7CiAgICAgICAgICAgICBtX2FsbERhdGEgPSAwOwotI2VuZGlmCiAg
ICAgICAgICAgICBtX2V4cGlyZURhdGUgPSBleHBpcmVEYXRlOwogICAgICAgICAgICAgbV9kZWxl
dGVkID0gZmFsc2U7CiAgICAgICAgICAgICBtX2V4cGlyZURhdGVDaGFuZ2VkID0gZmFsc2U7CkBA
IC0xNDMsMTIgKzEzNCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBz
ZXRSZXF1ZXN0KFJlcXVlc3QqKTsKIAotI2lmIF9fQVBQTEVfXwotICAgICAgICBOU1VSTFJlc3Bv
bnNlKiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KLSAgICAgICAgdm9p
ZCBzZXRSZXNwb25zZShOU1VSTFJlc3BvbnNlKik7Ci0gICAgICAgIE5TRGF0YSogYWxsRGF0YSgp
IGNvbnN0IHsgcmV0dXJuIG1fYWxsRGF0YTsgfQotICAgICAgICB2b2lkIHNldEFsbERhdGEoTlNE
YXRhKik7Ci0jZW5kaWYKKyAgICAgICAgUGxhdGZvcm1SZXNwb25zZSByZXNwb25zZSgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KKyAgICAgICAgdm9pZCBzZXRSZXNwb25zZShQbGF0Zm9y
bVJlc3BvbnNlKTsKKyAgICAgICAgUGxhdGZvcm1EYXRhIGFsbERhdGEoKSBjb25zdCB7IHJldHVy
biBtX2FsbERhdGE7IH0KKyAgICAgICAgdm9pZCBzZXRBbGxEYXRhKFBsYXRmb3JtRGF0YSk7CiAK
ICAgICAgICAgYm9vbCBjYW5EZWxldGUoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudHMuaXNFbXB0
eSgpICYmICFtX3JlcXVlc3Q7IH0KIApAQCAtMTcyLDEwICsxNjEsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIFN0cmluZyBtX2FjY2VwdDsKICAgICAgICAgUmVxdWVzdCogbV9yZXF1
ZXN0OwogCi0jaWYgX19BUFBMRV9fCi0gICAgICAgIE5TVVJMUmVzcG9uc2UgKm1fcmVzcG9uc2U7
Ci0gICAgICAgIE5TRGF0YSAqbV9hbGxEYXRhOwotI2VuZGlmCisgICAgICAgIFBsYXRmb3JtUmVz
cG9uc2UgbV9yZXNwb25zZTsKKyAgICAgICAgUGxhdGZvcm1EYXRhIG1fYWxsRGF0YTsKIAogICAg
ICAgICBUeXBlIG1fdHlwZTsKICAgICAgICAgU3RhdHVzIG1fc3RhdHVzOwpJbmRleDogV2ViQ29y
ZS9sb2FkZXIvTG9hZGVyRnVuY3Rpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIv
TG9hZGVyRnVuY3Rpb25zLmgJKHJldmlzaW9uIDE2OTk0KQorKysgV2ViQ29yZS9sb2FkZXIvTG9h
ZGVyRnVuY3Rpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDExICsyNCwxMSBAQAogICovCiAK
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJDbGllbnQu
aCIgIC8vIERlZmluZXMgUGxhdGZvcm1SZXNwb25zZQogCiAjaWZkZWYgX19PQkpDX18KIEBjbGFz
cyBOU0RpY3Rpb25hcnk7CiBAY2xhc3MgTlNTdHJpbmc7Ci1AY2xhc3MgTlNVUkxSZXNwb25zZTsK
IAogQGludGVyZmFjZSBOU0RpY3Rpb25hcnkgKFdlYkNvcmVfRXh0cmFzKQogKyAoaWQpX3dlYmNv
cmVfZGljdGlvbmFyeVdpdGhIZWFkZXJTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nOwpAQCAtMzcs
NyArMzcsNiBAQAogI2Vsc2UKIGNsYXNzIE5TRGljdGlvbmFyeTsKIGNsYXNzIE5TU3RyaW5nOwot
Y2xhc3MgTlNVUkxSZXNwb25zZTsKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00
NSwyMiArNDQsMjAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2FjaGVkUmVzb3VyY2U7
CiBjbGFzcyBEZXByZWNhdGVkU3RyaW5nOwogY2xhc3MgRG9jTG9hZGVyOwotY2xhc3MgS1VSTDsK
IGNsYXNzIExvYWRlcjsKIGNsYXNzIFJlcXVlc3Q7CiBjbGFzcyBTdHJpbmc7Ci1jbGFzcyBSZXNv
dXJjZUxvYWRlcjsKIAogVmVjdG9yPGNoYXI+IFNlcnZlU3luY2hyb25vdXNSZXF1ZXN0KExvYWRl
ciosIERvY0xvYWRlciosIFJlc291cmNlTG9hZGVyKiwgS1VSTCYgZmluYWxVUkwsIERlcHJlY2F0
ZWRTdHJpbmcmIGhlYWRlcnMpOwogCiB2b2lkIENoZWNrQ2FjaGVPYmplY3RTdGF0dXMoRG9jTG9h
ZGVyKiwgQ2FjaGVkUmVzb3VyY2UqKTsKIGJvb2wgQ2hlY2tJZlJlbG9hZGluZyhEb2NMb2FkZXIq
KTsKLWJvb2wgSXNSZXNwb25zZVVSTEVxdWFsVG9VUkwoTlNVUkxSZXNwb25zZSosIGNvbnN0IFN0
cmluZyYgVVJMKTsKLURlcHJlY2F0ZWRTdHJpbmcgUmVzcG9uc2VVUkwoTlNVUkxSZXNwb25zZSop
OwotRGVwcmVjYXRlZFN0cmluZyBSZXNwb25zZU1JTUVUeXBlKE5TVVJMUmVzcG9uc2UqKTsKLWJv
b2wgUmVzcG9uc2VJc011bHRpcGFydChOU1VSTFJlc3BvbnNlKik7Citib29sIElzUmVzcG9uc2VV
UkxFcXVhbFRvVVJMKFBsYXRmb3JtUmVzcG9uc2UgLCBjb25zdCBTdHJpbmcmIFVSTCk7CitEZXBy
ZWNhdGVkU3RyaW5nIFJlc3BvbnNlVVJMKFBsYXRmb3JtUmVzcG9uc2UpOworRGVwcmVjYXRlZFN0
cmluZyBSZXNwb25zZU1JTUVUeXBlKFBsYXRmb3JtUmVzcG9uc2UpOworYm9vbCBSZXNwb25zZUlz
TXVsdGlwYXJ0KFBsYXRmb3JtUmVzcG9uc2UpOwogaW50IE51bWJlck9mUGVuZGluZ09yTG9hZGlu
Z1JlcXVlc3RzKERvY0xvYWRlciopOwotdGltZV90IENhY2hlT2JqZWN0RXhwaXJlc1RpbWUoRG9j
TG9hZGVyKiwgTlNVUkxSZXNwb25zZSopOwordGltZV90IENhY2hlT2JqZWN0RXhwaXJlc1RpbWUo
RG9jTG9hZGVyKiwgUGxhdGZvcm1SZXNwb25zZSk7CiBOU1N0cmluZyogSGVhZGVyU3RyaW5nRnJv
bURpY3Rpb25hcnkoTlNEaWN0aW9uYXJ5KiBoZWFkZXJzLCBpbnQgc3RhdHVzQ29kZSk7CiAKIH0K
SW5kZXg6IFdlYkNvcmUvbG9hZGVyL2xvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9s
b2FkZXIvbG9hZGVyLmNwcAkocmV2aXNpb24gMTY5OTQpCisrKyBXZWJDb3JlL2xvYWRlci9sb2Fk
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyArMTIxLDYgQEAgdm9pZCBMb2FkZXI6OnJl
Y2VpdmVkQWxsRGF0YShSZXNvdXJjZUxvYQogCiB2b2lkIExvYWRlcjo6cmVjZWl2ZWRSZXNwb25z
ZShSZXNvdXJjZUxvYWRlciogam9iLCBQbGF0Zm9ybVJlc3BvbnNlIHJlc3BvbnNlKQogewotI2lm
ZGVmIF9fQVBQTEVfXwogICAgIFJlcXVlc3QqIHJlcSA9IG1fcmVxdWVzdHNMb2FkaW5nLmdldChq
b2IpOwogICAgIEFTU0VSVChyZXEpOwogICAgIEFTU0VSVChyZXNwb25zZSk7CkBAIC0xNDIsNyAr
MTQxLDYgQEAgdm9pZCBMb2FkZXI6OnJlY2VpdmVkUmVzcG9uc2UoUmVzb3VyY2VMbwogICAgICAg
ICBpZiAoIXJlcS0+Y2FjaGVkT2JqZWN0KCktPmlzSW1hZ2UoKSkKICAgICAgICAgICAgIGpvYi0+
Y2FuY2VsKCk7CiAgICAgfQotI2VuZGlmCiB9CiAKIHZvaWQgTG9hZGVyOjpyZWNlaXZlZERhdGEo
UmVzb3VyY2VMb2FkZXIqIGpvYiwgY29uc3QgY2hhciogZGF0YSwgaW50IHNpemUpCkluZGV4OiBX
ZWJDb3JlL2xvYWRlci9tYWMvTG9hZGVyRnVuY3Rpb25zTWFjLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvbG9hZGVyL21hYy9Mb2FkZXJGdW5jdGlvbnNNYWMubW0JKHJldmlzaW9uIDE2OTk0KQor
KysgV2ViQ29yZS9sb2FkZXIvbWFjL0xvYWRlckZ1bmN0aW9uc01hYy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgQ2hlY2tDYWNoZU9iamVjdFN0YXR1cyhEb2NMb2Fk
ZXIgKmwKICAgICB9CiB9CiAKLWJvb2wgSXNSZXNwb25zZVVSTEVxdWFsVG9VUkwoTlNVUkxSZXNw
b25zZSAqcmVzcG9uc2UsIGNvbnN0IFN0cmluZyYgbV91cmwpCitib29sIElzUmVzcG9uc2VVUkxF
cXVhbFRvVVJMKFBsYXRmb3JtUmVzcG9uc2UgcmVzcG9uc2UsIGNvbnN0IFN0cmluZyYgbV91cmwp
CiB7CiAgICAgTlNVUkwgKnJlc3BvbnNlVVJMID0gWyhOU1VSTFJlc3BvbnNlICopcmVzcG9uc2Ug
VVJMXTsKICAgICBOU1N0cmluZyAqdXJsU3RyaW5nID0gW3Jlc3BvbnNlVVJMIGFic29sdXRlU3Ry
aW5nXTsKQEAgLTIzMCw3ICsyMzAsNyBAQCBib29sIElzUmVzcG9uc2VVUkxFcXVhbFRvVVJMKE5T
VVJMUmVzcG9uCiAgICAgcmV0dXJuICFtZW1jbXAoYnVmZmVyLmRhdGEoKSwgbV91cmwuY2hhcmFj
dGVycygpLCBsZW5ndGggKiBzaXplb2YoVUNoYXIpKTsKIH0KIAotRGVwcmVjYXRlZFN0cmluZyBS
ZXNwb25zZVVSTChOU1VSTFJlc3BvbnNlICpyZXNwb25zZSkKK0RlcHJlY2F0ZWRTdHJpbmcgUmVz
cG9uc2VVUkwoUGxhdGZvcm1SZXNwb25zZSByZXNwb25zZSkKIHsKICAgICBCRUdJTl9CTE9DS19P
QkpDX0VYQ0VQVElPTlM7CiAKQEAgLTI0Niw3ICsyNDYsNyBAQCBEZXByZWNhdGVkU3RyaW5nIFJl
c3BvbnNlVVJMKE5TVVJMUmVzcG9uCiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLURlcHJlY2F0ZWRT
dHJpbmcgUmVzcG9uc2VNSU1FVHlwZShOU1VSTFJlc3BvbnNlICpyZXNwb25zZSkKK0RlcHJlY2F0
ZWRTdHJpbmcgUmVzcG9uc2VNSU1FVHlwZShQbGF0Zm9ybVJlc3BvbnNlIHJlc3BvbnNlKQogewog
ICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAgICByZXR1cm4gRGVwcmVjYXRlZFN0
cmluZzo6ZnJvbU5TU3RyaW5nKFsoTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlIE1JTUVUeXBlXSk7
CkBAIC0yNTUsNyArMjU1LDcgQEAgRGVwcmVjYXRlZFN0cmluZyBSZXNwb25zZU1JTUVUeXBlKE5T
VVJMUgogICAgIHJldHVybiBEZXByZWNhdGVkU3RyaW5nKCk7CiB9CiAKLWJvb2wgUmVzcG9uc2VJ
c011bHRpcGFydChOU1VSTFJlc3BvbnNlICpyZXNwb25zZSkKK2Jvb2wgUmVzcG9uc2VJc011bHRp
cGFydChQbGF0Zm9ybVJlc3BvbnNlIHJlc3BvbnNlKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNf
RVhDRVBUSU9OUzsKICAgICByZXR1cm4gW1tyZXNwb25zZSBNSU1FVHlwZV0gaXNFcXVhbFRvU3Ry
aW5nOkAibXVsdGlwYXJ0L3gtbWl4ZWQtcmVwbGFjZSJdOwpAQCAtMjY0LDcgKzI2NCw3IEBAIGJv
b2wgUmVzcG9uc2VJc011bHRpcGFydChOU1VSTFJlc3BvbnNlICoKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLXRpbWVfdCBDYWNoZU9iamVjdEV4cGlyZXNUaW1lKERvY0xvYWRlciAqZG9jTG9hZGVy
LCBOU1VSTFJlc3BvbnNlICpyZXNwb25zZSkKK3RpbWVfdCBDYWNoZU9iamVjdEV4cGlyZXNUaW1l
KERvY0xvYWRlciAqZG9jTG9hZGVyLCBQbGF0Zm9ybVJlc3BvbnNlIHJlc3BvbnNlKQogewogICAg
IEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAgICAKQEAgLTI3OSw3ICsyNzksNyBAQCB0
aW1lX3QgQ2FjaGVPYmplY3RFeHBpcmVzVGltZShEb2NMb2FkZXIgCiAgICAgcmV0dXJuIDA7CiB9
CiAKLXZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldFJlc3BvbnNlKE5TVVJMUmVzcG9uc2UgKnJlc3Bv
bnNlKQordm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0UmVzcG9uc2UoUGxhdGZvcm1SZXNwb25zZSBy
ZXNwb25zZSkKIHsKICAgICBIYXJkUmV0YWluKHJlc3BvbnNlKTsKICAgICBCRUdJTl9CTE9DS19P
QkpDX0VYQ0VQVElPTlM7CkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6
c2V0UmVzcG9uc2UoTlNVUkxSZQogICAgIG1fcmVzcG9uc2UgPSByZXNwb25zZTsKIH0KIAotdm9p
ZCBDYWNoZWRSZXNvdXJjZTo6c2V0QWxsRGF0YShOU0RhdGEgKmFsbERhdGEpCit2b2lkIENhY2hl
ZFJlc291cmNlOjpzZXRBbGxEYXRhKFBsYXRmb3JtRGF0YSBhbGxEYXRhKQogewogICAgIEhhcmRS
ZXRhaW4oYWxsRGF0YSk7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9xdC9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vcXQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAkocmV2aXNpb24gMTY5
OTQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1RlbXBvcmFyeUxpbmtTdHVicy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE0OCw2ICsxNDgsMTMgQEAgYm9vbCBJY29uRGF0YWJhc2U6OnNldEljb25V
UkxGb3JQYWdlVVJMKAogdm9pZCBDaGVja0NhY2hlT2JqZWN0U3RhdHVzKERvY0xvYWRlciosIENh
Y2hlZFJlc291cmNlKikgeyB9CiBib29sIENoZWNrSWZSZWxvYWRpbmcoV2ViQ29yZTo6RG9jTG9h
ZGVyKikgeyByZXR1cm4gZmFsc2U7IH0KIFZlY3RvcjxjaGFyPiBTZXJ2ZVN5bmNocm9ub3VzUmVx
dWVzdChMb2FkZXIqLCBEb2NMb2FkZXIqLCBSZXNvdXJjZUxvYWRlciosIEtVUkwmLCBEZXByZWNh
dGVkU3RyaW5nJikgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gVmVjdG9yPGNoYXI+KCk7IH0K
K3RpbWVfdCBDYWNoZU9iamVjdEV4cGlyZXNUaW1lKERvY0xvYWRlciosIFBsYXRmb3JtUmVzcG9u
c2UqKSB7IHJldHVybiAwOyB9Citib29sIFJlc3BvbnNlSXNNdWx0aXBhcnQoUGxhdGZvcm1SZXNw
b25zZSopIHsgcmV0dXJuIGZhbHNlOyB9CitEZXByZWNhdGVkU3RyaW5nIFJlc3BvbnNlTUlNRVR5
cGUoUGxhdGZvcm1SZXNwb25zZSkgeyByZXR1cm4gRGVwcmVjYXRlZFN0cmluZygpOyB9Citib29s
IElzUmVzcG9uc2VVUkxFcXVhbFRvVVJMKFBsYXRmb3JtUmVzcG9uc2UgLCBjb25zdCBTdHJpbmcm
IFVSTCkgeyByZXR1cm4gZmFsc2U7IH0KK0RlcHJlY2F0ZWRTdHJpbmcgUmVzcG9uc2VVUkwoUGxh
dGZvcm1SZXNwb25zZSkgeyByZXR1cm4gRGVwcmVjYXRlZFN0cmluZygpOyB9CitDYWNoZWRSZXNv
dXJjZTo6c2V0UmVzcG9uc2UoUGxhdGZvcm1SZXNwb25zZSkgeyBub3RJbXBsZW1lbnRlZCgpOyB9
CitDYWNoZWRSZXNvdXJjZTo6c2V0QWxsRGF0YShQbGF0Zm9ybURhdGEpIHsgbm90SW1wbGVtZW50
ZWQoKTsgfQogfQogCiBib29sIFdlYkNvcmU6Omhpc3RvcnlDb250YWlucyhEZXByZWNhdGVkU3Ry
aW5nIGNvbnN0JikgeyByZXR1cm4gZmFsc2U7IH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vd2lu
L1RlbXBvcmFyeUxpbmtTdHVicy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS93
aW4vVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAkocmV2aXNpb24gMTY5OTQpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL3dpbi9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTUs
NiArMjU1LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogYm9vbCBDaGVja0lmUmVsb2FkaW5n
KFdlYkNvcmU6OkRvY0xvYWRlciopIHsgcmV0dXJuIGZhbHNlOyB9CiB2b2lkIENoZWNrQ2FjaGVP
YmplY3RTdGF0dXMoRG9jTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqKSB7IH0KK3RpbWVfdCBDYWNo
ZU9iamVjdEV4cGlyZXNUaW1lKERvY0xvYWRlciosIFBsYXRmb3JtUmVzcG9uc2UqKSB7IHJldHVy
biAwOyB9Citib29sIFJlc3BvbnNlSXNNdWx0aXBhcnQoUGxhdGZvcm1SZXNwb25zZSopIHsgcmV0
dXJuIGZhbHNlOyB9CitEZXByZWNhdGVkU3RyaW5nIFJlc3BvbnNlTUlNRVR5cGUoUGxhdGZvcm1S
ZXNwb25zZSkgeyByZXR1cm4gRGVwcmVjYXRlZFN0cmluZygpOyB9Citib29sIElzUmVzcG9uc2VV
UkxFcXVhbFRvVVJMKFBsYXRmb3JtUmVzcG9uc2UgLCBjb25zdCBTdHJpbmcmIFVSTCkgeyByZXR1
cm4gZmFsc2U7IH0KK0RlcHJlY2F0ZWRTdHJpbmcgUmVzcG9uc2VVUkwoUGxhdGZvcm1SZXNwb25z
ZSkgeyByZXR1cm4gRGVwcmVjYXRlZFN0cmluZygpOyB9CitDYWNoZWRSZXNvdXJjZTo6c2V0UmVz
cG9uc2UoUGxhdGZvcm1SZXNwb25zZSkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CitDYWNoZWRSZXNv
dXJjZTo6c2V0QWxsRGF0YShQbGF0Zm9ybURhdGEpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogCiB9
CiAK
</data>
<flag name="review"
          id="3739"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>