<?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>38689</bug_id>
          
          <creation_ts>2010-05-06 14:18:12 -0700</creation_ts>
          <short_desc>#34005 will break fullscreen video playback</short_desc>
          <delta_ts>2010-05-12 07:35:32 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://vimeo.com/7352118</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>34005</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>221963</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-06 14:18:12 -0700</bug_when>
    <thetext>The changes for bug https://bugs.webkit.org/show_bug.cgi?id=34005 will cause fullscreen support for video playback on windows to either a) not work or b) crash.  This is because FullscreenVideoController reinterpret_casts the current PlatformMedia returned by MediaPlayer to the incorrect type, and methods called on that pointer fail.

The fix is to rewrite the PlatformMedia struct so that it indicates which type is correct, and to have the FullscreenVideoController check that type before calling functions on the returned pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221966</commentid>
    <comment_count>1</comment_count>
      <attachid>55297</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-06 14:25:50 -0700</bug_when>
    <thetext>Created attachment 55297
Part 1: PlatformMedia redefinition

This is the new proposed definition of PlatformMedia.  Instead of the definition of PlatformMedia being determined at compile-time, the definition can be chosen at runtime, allowing multiple MediaPlayerPrivate implementations to return different PlatformMedia within the same runtime.  It also helps to eliminate the possibility of casting to the wrong type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222134</commentid>
    <comment_count>2</comment_count>
      <attachid>55297</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-06 20:06:03 -0700</bug_when>
    <thetext>Comment on attachment 55297
Part 1: PlatformMedia redefinition

Hmmm.  I guess that&apos;s one way.  Another would be a wrapper object which knew out to vend the various information from these things when needed and could do the various lifetime management for each.  Said wrapper object could then be held in an OwnPtr or RefPtr as necessary...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223153</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-09 22:55:15 -0700</bug_when>
    <thetext>Attachment 55297 did not build on win:
Build output: http://webkit-commit-queue.appspot.com/results/2238076</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223304</commentid>
    <comment_count>4</comment_count>
      <attachid>55552</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-10 07:28:43 -0700</bug_when>
    <thetext>Created attachment 55552
Redefinition of PlatformMedia

This patch supersedes the previous patch, and includes all the changes to PlatformMedia clients to match the new definition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223306</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-10 07:35:38 -0700</bug_when>
    <thetext>Attachment 55552 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm:605:  Line contains tab character.  [whitespace/tab] [5]
WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm:606:  Line contains tab character.  [whitespace/tab] [5]
WebKit/win/FullscreenVideoController.cpp:197:  Tab found; better to use spaces  [whitespace/tab] [1]
WebKit/win/FullscreenVideoController.cpp:198:  Tab found; better to use spaces  [whitespace/tab] [1]
WebKit/win/FullscreenVideoController.cpp:200:  Tab found; better to use spaces  [whitespace/tab] [1]
WebKit/win/FullscreenVideoController.cpp:201:  Tab found; better to use spaces  [whitespace/tab] [1]
WebKit/win/FullscreenVideoController.cpp:202:  Tab found; better to use spaces  [whitespace/tab] [1]
WebKit/win/FullscreenVideoController.cpp:204:  Tab found; better to use spaces  [whitespace/tab] [1]
Total errors found: 8 in 9 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>223336</commentid>
    <comment_count>6</comment_count>
      <attachid>55552</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-10 08:39:42 -0700</bug_when>
    <thetext>Comment on attachment 55552
Redefinition of PlatformMedia

&gt;  #else
&gt;  class QTMovie;
&gt;  #endif
&gt; +class QTMovieGWorld;
&gt; +class QTMovieVisualContext;

Shouldn&apos;t these forward declaration be inside a platform ifdef?

&gt;  typedef struct PlatformMedia {
&gt; -    QTMovie* qtMovie;
&gt; +    enum {
&gt; +        None = 0,
&gt; +        QTMovieType,
&gt; +        QTMovieGWorldType,
&gt; +        QTMovieVisualContextType
&gt; +    } type;
&gt; +
&gt; +    union {
&gt; +        QTMovie* qtMovie;
&gt; +        QTMovieGWorld* qtMovieGWorld;
&gt; +        QTMovieVisualContext* qtMovieVisualContext;
&gt; +    } media;
&gt;  } PlatformMedia;
&gt;  
&gt; -static const PlatformMedia NoPlatformMedia = { 0 };
&gt; +static const PlatformMedia NoPlatformMedia = { PlatformMedia::None, {0} };

I don&apos;t think you need the &quot;{0}&quot; here. Do you?

It&apos;s not appropriate to have a static const object in a header file. The &quot;static&quot; means the object will have internal linkage and a separate copy of the object will be used in file that includes the header. Another idiom would be better.

We shouldn&apos;t use &quot;typedef struct { } StructName&quot; in our C++ files. Instead &quot;struct StructName&quot; is the style normally used.

I don&apos;t think there&apos;s any reason to explicitly make &quot;None&quot; be 0. It will automatically be 0 since it&apos;s the first enum value.

Since this is C++ we could use a class with constructors to make this a bit more foolproof, although this is probably fine.

&gt; -    PlatformMedia plaftformMedia = { m_qtMovie.get() };
&gt; +    PlatformMedia plaftformMedia;
&gt; +		platformMedia.type = PlatformMedia::QTMovieType;
&gt; +		platformMedia.media.qtMovie = m_qtMovie;

The tabs in this file means it can&apos;t be checked in as-is.

&gt; -    return m_mediaElement ? reinterpret_cast&lt;QTMovieGWorld*&gt;(m_mediaElement-&gt;platformMedia().qtMovie) : 0;
&gt; +		if (!m_mediaElement)
&gt; +			return 0;
&gt; +
&gt; +		PlatformMedia platformMedia = m_mediaElement-&gt;platformMedia();
&gt; +		if (platformMedia.type != PlatformMedia::QTMovieGWorldType)
&gt; +			return 0;
&gt; +
&gt; +		return platformMedia.media.qtMovieGWorld;

Tabs again.

review- because of the tabs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223356</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-10 09:31:54 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 55552 [details])

&gt; Shouldn&apos;t these forward declaration be inside a platform ifdef?
&gt;

No, because in order to compile on all platforms, the typedefs need to be at least forward declared in all platforms. 

&gt; &gt; -static const PlatformMedia NoPlatformMedia = { 0 };
&gt; &gt; +static const PlatformMedia NoPlatformMedia = { PlatformMedia::None, {0} };
&gt; 
&gt; I don&apos;t think you need the &quot;{0}&quot; here. Do you?

That notation will fill the entire union with zeros. I thunk that, at least under visual studio, both the type and media fields need to be included. 

&gt; It&apos;s not appropriate to have a static const object in a header file. The &quot;static&quot; means the object will have internal linkage and a separate copy of the object will be used in file that includes the header. Another idiom would be better.

How about &quot;external const NoPlatfprmMedia;&quot;?

&gt; We shouldn&apos;t use &quot;typedef struct { } StructName&quot; in our C++ files. Instead &quot;struct StructName&quot; is the style normally used.

Sure thing.


&gt; I don&apos;t think there&apos;s any reason to explicitly make &quot;None&quot; be 0. It will automatically be 0 since it&apos;s the first enum value.

It&apos;s my reflex to explicitly define the first entry in an enum, if only for readability&apos;s sake. I&apos;m happy to omit it. 

&gt; Since this is C++ we could use a class with constructors to make this a bit more foolproof, although this is probably fine.

I thought about adding constructors and accessors for watch of the subtypes, but thought it would be too verbose. 

&gt; The tabs in this file means it can&apos;t be checked in as-is.

I&apos;ll upload a new patch with changes and without tabs. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223379</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-10 10:14:25 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; That notation will fill the entire union with zeros. I thunk that, at least under visual studio, both the type and media fields need to be included. 

Apparently, I &quot;thunk&quot; wrong.  A test program verified that empty fields in a struct initializer are set to zero, both with cl.exe and with g++.  I&apos;ll leave that out in my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223381</commentid>
    <comment_count>9</comment_count>
      <attachid>55565</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-10 10:18:41 -0700</bug_when>
    <thetext>Created attachment 55565
Redefinition of PlatformMedia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223419</commentid>
    <comment_count>10</comment_count>
      <attachid>55565</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-05-10 11:25:30 -0700</bug_when>
    <thetext>Comment on attachment 55565
Redefinition of PlatformMedia


&gt;  void FullscreenVideoController::setMediaElement(HTMLMediaElement* mediaElement)
WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm:606
 +          platformMedia.media.qtMovie = m_qtMovie;
Some thing odd here.

WebKit/win/FullscreenVideoController.cpp:204
 +          return platformMedia.media.qtMovieGWorld;
Spacing again.

r=me with those changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223719</commentid>
    <comment_count>11</comment_count>
      <attachid>55657</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-10 21:24:56 -0700</bug_when>
    <thetext>Created attachment 55657
Redefinition of PlatformMedia

I discovered a few compilation errors in the mac side of the previous patch, which this patch supersedes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223722</commentid>
    <comment_count>12</comment_count>
      <attachid>55658</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-10 21:28:09 -0700</bug_when>
    <thetext>Created attachment 55658
Redefinition of PlatformMedia

...and somehow the changes Darin asked for managed to escape as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223725</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-10 21:34:52 -0700</bug_when>
    <thetext>Attachment 55658 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKit/win/FullscreenVideoController.cpp:197:  One or more unexpected \r (^M) found; better to use only a \n  [whitespace/carriage_return] [1]
Suppressing further [whitespace/carriage_return] reports for this file.
Total errors found: 7 in 10 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>223726</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-10 21:37:02 -0700</bug_when>
    <thetext>Attachment 55658 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/2166142</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223727</commentid>
    <comment_count>15</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-10 21:41:17 -0700</bug_when>
    <thetext>cc1plus: warnings being treated as errors
/Users/eseidel/Projects/MacEWS/WebCore/platform/graphics/MediaPlayer.cpp:66: warning: missing initializer for member &apos;WebCore::PlatformMedia::media&apos;

Looks like my experiment with Darin&apos;s change was incorrect; both fields must be specified during initialization.  I&apos;ll fix and add a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223733</commentid>
    <comment_count>16</comment_count>
      <attachid>55662</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-10 21:49:25 -0700</bug_when>
    <thetext>Created attachment 55662
Redefinition of PlatformMedia

Removed the random ^M newlines, as well as added an explicit initializer for NoPlatformMedia.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224598</commentid>
    <comment_count>17</comment_count>
      <attachid>55662</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-12 07:35:26 -0700</bug_when>
    <thetext>Comment on attachment 55662
Redefinition of PlatformMedia

Clearing flags on attachment: 55662

Committed r59232: &lt;http://trac.webkit.org/changeset/59232&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224599</commentid>
    <comment_count>18</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2010-05-12 07:35:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55297</attachid>
            <date>2010-05-06 14:25:50 -0700</date>
            <delta_ts>2010-05-10 07:28:43 -0700</delta_ts>
            <desc>Part 1: PlatformMedia redefinition</desc>
            <filename>38689-MediaPlayer.h.patch</filename>
            <type>text/plain</type>
            <size>1003</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgJKHJldmlzaW9uIDU4
NTk2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCSh3b3JraW5n
IGNvcHkpCkBAIC00OSw2ICs0OSw4IEBACiAjZWxzZQogY2xhc3MgUVRNb3ZpZTsKICNlbmRpZgor
Y2xhc3MgUVRNb3ZpZUdXb3JsZDsKK2NsYXNzIFFUTW92aWVWaXN1YWxDb250ZXh0OwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU3LDEwICs1OSwyMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAvLyBXZSBoYXZlIHRvIGRvIHRoYXQgaGFzIG11bHRpcGxlIG1lZGlhIHBsYXllcnMKIC8vIGJh
Y2tlbmQgY2FuIGxpdmUgYXQgcnVudGltZS4KIHR5cGVkZWYgc3RydWN0IFBsYXRmb3JtTWVkaWEg
ewotICAgIFFUTW92aWUqIHF0TW92aWU7CisgICAgZW51bSB7CisgICAgICAgIE5vbmUgPSAwLAor
ICAgICAgICBRVE1vdmllVHlwZSwKKyAgICAgICAgUVRNb3ZpZUdXb3JsZFR5cGUsCisgICAgICAg
IFFUTW92aWVWaXN1YWxDb250ZXh0VHlwZQorICAgIH0gdHlwZTsKKworICAgIHVuaW9uIHsKKyAg
ICAgICAgUVRNb3ZpZSogcXRNb3ZpZTsKKyAgICAgICAgUVRNb3ZpZUdXb3JsZCogcXRNb3ZpZUdX
b3JsZDsKKyAgICAgICAgUVRNb3ZpZVZpc3VhbENvbnRleHQqIHF0TW92aWVWaXN1YWxDb250ZXh0
OworICAgIH0gbWVkaWE7CiB9IFBsYXRmb3JtTWVkaWE7CiAKLXN0YXRpYyBjb25zdCBQbGF0Zm9y
bU1lZGlhIE5vUGxhdGZvcm1NZWRpYSA9IHsgMCB9Oworc3RhdGljIGNvbnN0IFBsYXRmb3JtTWVk
aWEgTm9QbGF0Zm9ybU1lZGlhID0geyBQbGF0Zm9ybU1lZGlhOjpOb25lLCB7MH0gfTsKIAogY2xh
c3MgQ29udGVudFR5cGU7CiBjbGFzcyBGcmFtZVZpZXc7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55552</attachid>
            <date>2010-05-10 07:28:43 -0700</date>
            <delta_ts>2010-05-10 10:18:41 -0700</delta_ts>
            <desc>Redefinition of PlatformMedia</desc>
            <filename>38689.patch</filename>
            <type>text/plain</type>
            <size>7313</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTA3NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDUtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBCdWcgMzg2ODk6ICMzNDAwNSB3aWxsIGJyZWFrIGZ1bGxzY3JlZW4gdmlkZW8gcGxheWJh
Y2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Njg5
CisgICAgICAgIAorICAgICAgICBUaGUgUGxhdGZvcm1NZWRpYSBzdHJ1Y3Qgbm93IGNvbnRhaW5z
IGEgdHlwZSBmaWVsZCBpbmRpY2F0aW5nIHdoaWNoIHR5cGUKKyAgICAgICAgaXQgY29udGFpbnMu
ICBUaGUgc3RydWN0IG5vdyBjb250YWlucyBhIHVuaW9uIG9mIGFsbCBwb3NzaWJsZSByZXR1cm4g
dHlwZXMsCisgICAgICAgIGFsbG93aW5nIHRoZSB0eXBlIG9mIG1lZGlhIHJldHVybmVkIGJ5IE1l
ZGlhUGxheWVyUHJpdmF0ZSBpbnN0YW5jZXMgdG8gYmUKKyAgICAgICAgZGV0ZXJtaW5lZCBhdCBy
dW50aW1lLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWE6Oik6CisgICAgICAgIChXZWJDb3JlOjopOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5t
bToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6cGxhdGZvcm1NZWRpYSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNr
VGltZVZpc3VhbENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dDo6cGxhdGZvcm1NZWRpYSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBsYXRmb3JtTWVkaWEpOgorCiAy
MDEwLTA1LTEwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUnViYmVyLXN0YW1wZWQgYnkgU2ltb24gSGF1c21hbm4uCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oCShyZXZpc2lvbiA1OTAwMikKKysrIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDks
OCBAQAogI2Vsc2UKIGNsYXNzIFFUTW92aWU7CiAjZW5kaWYKK2NsYXNzIFFUTW92aWVHV29ybGQ7
CitjbGFzcyBRVE1vdmllVmlzdWFsQ29udGV4dDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC01NywxMCArNTksMjEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gV2UgaGF2ZSB0byBkbyB0
aGF0IGhhcyBtdWx0aXBsZSBtZWRpYSBwbGF5ZXJzCiAvLyBiYWNrZW5kIGNhbiBsaXZlIGF0IHJ1
bnRpbWUuCiB0eXBlZGVmIHN0cnVjdCBQbGF0Zm9ybU1lZGlhIHsKLSAgICBRVE1vdmllKiBxdE1v
dmllOworICAgIGVudW0geworICAgICAgICBOb25lID0gMCwKKyAgICAgICAgUVRNb3ZpZVR5cGUs
CisgICAgICAgIFFUTW92aWVHV29ybGRUeXBlLAorICAgICAgICBRVE1vdmllVmlzdWFsQ29udGV4
dFR5cGUKKyAgICB9IHR5cGU7CisKKyAgICB1bmlvbiB7CisgICAgICAgIFFUTW92aWUqIHF0TW92
aWU7CisgICAgICAgIFFUTW92aWVHV29ybGQqIHF0TW92aWVHV29ybGQ7CisgICAgICAgIFFUTW92
aWVWaXN1YWxDb250ZXh0KiBxdE1vdmllVmlzdWFsQ29udGV4dDsKKyAgICB9IG1lZGlhOwogfSBQ
bGF0Zm9ybU1lZGlhOwogCi1zdGF0aWMgY29uc3QgUGxhdGZvcm1NZWRpYSBOb1BsYXRmb3JtTWVk
aWEgPSB7IDAgfTsKK3N0YXRpYyBjb25zdCBQbGF0Zm9ybU1lZGlhIE5vUGxhdGZvcm1NZWRpYSA9
IHsgUGxhdGZvcm1NZWRpYTo6Tm9uZSwgezB9IH07CiAKIGNsYXNzIENvbnRlbnRUeXBlOwogY2xh
c3MgRnJhbWVWaWV3OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0JKHJldmlzaW9uIDU5MDAyKQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0J
KHdvcmtpbmcgY29weSkKQEAgLTYwMSw3ICs2MDEsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZTo6cHJlcGFyZVRvUGxheSgpCiAKIFBsYXRmb3JtTWVkaWEgTWVkaWFQbGF5ZXJQcml2YXRlOjpw
bGF0Zm9ybU1lZGlhKCkgY29uc3QKIHsKLSAgICBQbGF0Zm9ybU1lZGlhIHBsYWZ0Zm9ybU1lZGlh
ID0geyBtX3F0TW92aWUuZ2V0KCkgfTsKKyAgICBQbGF0Zm9ybU1lZGlhIHBsYWZ0Zm9ybU1lZGlh
OworCQlwbGF0Zm9ybU1lZGlhLnR5cGUgPSBQbGF0Zm9ybU1lZGlhOjpRVE1vdmllVHlwZTsKKwkJ
cGxhdGZvcm1NZWRpYS5tZWRpYS5xdE1vdmllID0gbV9xdE1vdmllOwogICAgIHJldHVybiBwbGFm
dGZvcm1NZWRpYTsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVk
aWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1l
VmlzdWFsQ29udGV4dC5jcHAJKHJldmlzaW9uIDU5MDA4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE1Miw3ICsxNTIsOCBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0
ZVF1aWNrVGltZVZpc3VhbENvCiBQbGF0Zm9ybU1lZGlhIE1lZGlhUGxheWVyUHJpdmF0ZVF1aWNr
VGltZVZpc3VhbENvbnRleHQ6OnBsYXRmb3JtTWVkaWEoKSBjb25zdAogewogICAgIFBsYXRmb3Jt
TWVkaWEgcDsKLSAgICBwLnF0TW92aWUgPSByZWludGVycHJldF9jYXN0PFFUTW92aWUqPihtX21v
dmllLmdldCgpKTsKKyAgICBwLnR5cGUgPSBQbGF0Zm9ybU1lZGlhOjpRVE1vdmllVmlzdWFsQ29u
dGV4dFR5cGU7CisgICAgcC5tZWRpYS5xdE1vdmllVmlzdWFsQ29udGV4dCA9IG1fdmlzdWFsQ29u
dGV4dDsKICAgICByZXR1cm4gcDsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVX
aW4uY3BwCShyZXZpc2lvbiA1OTAwMikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
NCw3ICsxMTQsOCBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZTo6c3VwcG9ydHNGdWxsc2NyCiBQ
bGF0Zm9ybU1lZGlhIE1lZGlhUGxheWVyUHJpdmF0ZTo6cGxhdGZvcm1NZWRpYSgpIGNvbnN0CiB7
CiAgICAgUGxhdGZvcm1NZWRpYSBwOwotICAgIHAucXRNb3ZpZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UVRNb3ZpZSo+KG1fcXRNb3ZpZS5nZXQoKSk7CisgICAgcC50eXBlID0gUGxhdGZvcm1NZWRpYTo6
UVRNb3ZpZUdXb3JsZFR5cGU7CisgICAgcC5tZWRpYS5xdE1vdmllR1dvcmxkID0gbV9xdEdXb3Js
ZC5nZXQoKTsKICAgICByZXR1cm4gcDsKIH0KIApJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU5MDc2KQorKysg
V2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAx
MC0wNS0xMCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgMzg2ODk6ICMzNDAwNSB3aWxs
IGJyZWFrIGZ1bGxzY3JlZW4gdmlkZW8gcGxheWJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Njg5CisKKyAgICAgICAgVXNlIHRoZSBuZXcgZGVm
aW5pdGlvbiBvZiBQbGF0Zm9ybU1lZGlhIHRvIGNoZWNrIHRoZSBhY3R1YWwgdHlwZSAKKyAgICAg
ICAgcmV0dXJuZWQgYnkgTWVkaWFQbGF5ZXIuCisgICAgICAgIAorICAgICAgICAqIFdlYlZpZXcv
V2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlciB3aW5kb3dEaWRMb2FkXSk6CisKIDIwMTAtMDUtMDcgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0g
V2VpbmlnIGFuZCBTaW1vbiBGcmFzZXIuCkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlk
ZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQkocmV2aXNpb24gNTkwMDIpCisrKyBX
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtOTMsOCArOTMsOCBAQCAtICh2b2lkKXdpbmRvd0RpZExvYWQKICAgICBRVE1v
dmllTGF5ZXIgKmxheWVyID0gW1tnZXRRVE1vdmllTGF5ZXJDbGFzcygpIGFsbG9jXSBpbml0XTsK
ICAgICBbW3dpbmRvdyBjb250ZW50Vmlld10gc2V0TGF5ZXI6bGF5ZXJdOwogICAgIFtbd2luZG93
IGNvbnRlbnRWaWV3XSBzZXRXYW50c0xheWVyOllFU107Ci0gICAgaWYgKF9tZWRpYUVsZW1lbnQp
Ci0gICAgICAgIFtsYXllciBzZXRNb3ZpZTpfbWVkaWFFbGVtZW50LT5wbGF0Zm9ybU1lZGlhKCku
cXRNb3ZpZV07CisgICAgaWYgKF9tZWRpYUVsZW1lbnQgJiYgX21lZGlhRWxlbWVudC0+cGxhdGZv
cm1NZWRpYSgpLnR5cGUgPT0gUGxhdGZvcm1NZWRpYTo6UVRNb3ZpZVR5cGUpCisgICAgICAgIFts
YXllciBzZXRNb3ZpZTpfbWVkaWFFbGVtZW50LT5wbGF0Zm9ybU1lZGlhKCkubWVkaWEucXRNb3Zp
ZV07CiAgICAgW3dpbmRvdyBzZXRIYXNTaGFkb3c6WUVTXTsgLy8gVGhpcyBpcyBuaWNlciB3aXRo
IGEgc2hhZG93LgogICAgIFt3aW5kb3cgc2V0TGV2ZWw6TlNQb3BVcE1lbnVXaW5kb3dMZXZlbC0x
XTsKICAgICBbbGF5ZXIgcmVsZWFzZV07CkluZGV4OiBXZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gNTkwNzYpCisrKyBXZWJL
aXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA1
LTEwICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAzODY4OTogIzM0MDA1IHdpbGwgYnJl
YWsgZnVsbHNjcmVlbiB2aWRlbyBwbGF5YmFjaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2ODkKKworICAgICAgICBVc2UgdGhlIG5ldyBkZWZpbml0
aW9uIG9mIFBsYXRmb3JtTWVkaWEgdG8gY2hlY2sgdGhlIGFjdHVhbCB0eXBlIAorICAgICAgICBy
ZXR1cm5lZCBieSBNZWRpYVBsYXllci4KKworICAgICAgICAqIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcjo6bW92aWUpOgor
CiAyMDEwLTA1LTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEFkZWxlIFBldGVyc29uLgpJbmRleDogV2ViS2l0L3dpbi9GdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0Z1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1OTAwMikKKysrIFdlYktpdC93aW4vRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NCw3ICsxOTQsMTQg
QEAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcjo6fkZ1bGxzY3JlZW5WaQogCiBRVE1vdmllR1dv
cmxkKiBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjptb3ZpZSgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIG1fbWVkaWFFbGVtZW50ID8gcmVpbnRlcnByZXRfY2FzdDxRVE1vdmllR1dvcmxkKj4obV9t
ZWRpYUVsZW1lbnQtPnBsYXRmb3JtTWVkaWEoKS5xdE1vdmllKSA6IDA7CisJCWlmICghbV9tZWRp
YUVsZW1lbnQpCisJCQlyZXR1cm4gMDsKKworCQlQbGF0Zm9ybU1lZGlhIHBsYXRmb3JtTWVkaWEg
PSBtX21lZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpOworCQlpZiAocGxhdGZvcm1NZWRpYS50
eXBlICE9IFBsYXRmb3JtTWVkaWE6OlFUTW92aWVHV29ybGRUeXBlKQorCQkJcmV0dXJuIDA7CisK
KwkJcmV0dXJuIHBsYXRmb3JtTWVkaWEubWVkaWEucXRNb3ZpZUdXb3JsZDsKIH0KIAogdm9pZCBG
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjpzZXRNZWRpYUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVu
dCogbWVkaWFFbGVtZW50KQo=
</data>
<flag name="review"
          id="39764"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55565</attachid>
            <date>2010-05-10 10:18:41 -0700</date>
            <delta_ts>2010-05-10 21:24:56 -0700</delta_ts>
            <desc>Redefinition of PlatformMedia</desc>
            <filename>38689.patch</filename>
            <type>text/plain</type>
            <size>7882</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTA3NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDUtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBCdWcgMzg2ODk6ICMzNDAwNSB3aWxsIGJyZWFrIGZ1bGxzY3JlZW4gdmlkZW8gcGxheWJh
Y2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Njg5
CisgICAgICAgIAorICAgICAgICBUaGUgUGxhdGZvcm1NZWRpYSBzdHJ1Y3Qgbm93IGNvbnRhaW5z
IGEgdHlwZSBmaWVsZCBpbmRpY2F0aW5nIHdoaWNoIHR5cGUKKyAgICAgICAgaXQgY29udGFpbnMu
ICBUaGUgc3RydWN0IG5vdyBjb250YWlucyBhIHVuaW9uIG9mIGFsbCBwb3NzaWJsZSByZXR1cm4g
dHlwZXMsCisgICAgICAgIGFsbG93aW5nIHRoZSB0eXBlIG9mIG1lZGlhIHJldHVybmVkIGJ5IE1l
ZGlhUGxheWVyUHJpdmF0ZSBpbnN0YW5jZXMgdG8gYmUKKyAgICAgICAgZGV0ZXJtaW5lZCBhdCBy
dW50aW1lLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWE6Oik6CisgICAgICAgIChXZWJDb3JlOjopOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5t
bToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6cGxhdGZvcm1NZWRpYSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNr
VGltZVZpc3VhbENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dDo6cGxhdGZvcm1NZWRpYSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBsYXRmb3JtTWVkaWEpOgorCiAy
MDEwLTA1LTEwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUnViYmVyLXN0YW1wZWQgYnkgU2ltb24gSGF1c21hbm4uCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAkocmV2aXNpb24gNTkwMDIpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMs
NiArNjMsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NvbnN0IFBsYXRmb3JtTWVkaWEg
Tm9QbGF0Zm9ybU1lZGlhID0geyBQbGF0Zm9ybU1lZGlhOjpOb25lIH07CisKIC8vIGEgbnVsbCBw
bGF5ZXIgdG8gbWFrZSBNZWRpYVBsYXllciBsb2dpYyBzaW1wbGVyCiAKIGNsYXNzIE51bGxNZWRp
YVBsYXllclByaXZhdGUgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgJKHJldmlzaW9uIDU5MDAy
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCSh3b3JraW5nIGNv
cHkpCkBAIC00OSw2ICs0OSw4IEBACiAjZWxzZQogY2xhc3MgUVRNb3ZpZTsKICNlbmRpZgorY2xh
c3MgUVRNb3ZpZUdXb3JsZDsKK2NsYXNzIFFUTW92aWVWaXN1YWxDb250ZXh0OwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTU2LDExICs1OCwyMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAv
LyB0eXBlcyBzdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQgbWVkaWEgcGxheWVyLgogLy8gV2UgaGF2
ZSB0byBkbyB0aGF0IGhhcyBtdWx0aXBsZSBtZWRpYSBwbGF5ZXJzCiAvLyBiYWNrZW5kIGNhbiBs
aXZlIGF0IHJ1bnRpbWUuCi10eXBlZGVmIHN0cnVjdCBQbGF0Zm9ybU1lZGlhIHsKLSAgICBRVE1v
dmllKiBxdE1vdmllOwotfSBQbGF0Zm9ybU1lZGlhOworc3RydWN0IFBsYXRmb3JtTWVkaWEgewor
ICAgIGVudW0geworICAgICAgICBOb25lLAorICAgICAgICBRVE1vdmllVHlwZSwKKyAgICAgICAg
UVRNb3ZpZUdXb3JsZFR5cGUsCisgICAgICAgIFFUTW92aWVWaXN1YWxDb250ZXh0VHlwZQorICAg
IH0gdHlwZTsKIAotc3RhdGljIGNvbnN0IFBsYXRmb3JtTWVkaWEgTm9QbGF0Zm9ybU1lZGlhID0g
eyAwIH07CisgICAgdW5pb24geworICAgICAgICBRVE1vdmllKiBxdE1vdmllOworICAgICAgICBR
VE1vdmllR1dvcmxkKiBxdE1vdmllR1dvcmxkOworICAgICAgICBRVE1vdmllVmlzdWFsQ29udGV4
dCogcXRNb3ZpZVZpc3VhbENvbnRleHQ7CisgICAgfSBtZWRpYTsKK307CisKK2V4dGVybiBjb25z
dCBQbGF0Zm9ybU1lZGlhIE5vUGxhdGZvcm1NZWRpYTsKIAogY2xhc3MgQ29udGVudFR5cGU7CiBj
bGFzcyBGcmFtZVZpZXc7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRp
YVBsYXllclByaXZhdGVRVEtpdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQkocmV2aXNpb24gNTkwMDIpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5t
bQkod29ya2luZyBjb3B5KQpAQCAtNjAxLDcgKzYwMSw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlOjpwcmVwYXJlVG9QbGF5KCkKIAogUGxhdGZvcm1NZWRpYSBNZWRpYVBsYXllclByaXZhdGU6
OnBsYXRmb3JtTWVkaWEoKSBjb25zdAogewotICAgIFBsYXRmb3JtTWVkaWEgcGxhZnRmb3JtTWVk
aWEgPSB7IG1fcXRNb3ZpZS5nZXQoKSB9OworICAgIFBsYXRmb3JtTWVkaWEgcGxhZnRmb3JtTWVk
aWE7CisgICAgICAgIHBsYXRmb3JtTWVkaWEudHlwZSA9IFBsYXRmb3JtTWVkaWE6OlFUTW92aWVU
eXBlOworICAgICAgICBwbGF0Zm9ybU1lZGlhLm1lZGlhLnF0TW92aWUgPSBtX3F0TW92aWU7CiAg
ICAgcmV0dXJuIHBsYWZ0Zm9ybU1lZGlhOwogfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclBy
aXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcAkocmV2aXNpb24gNTkwMDgpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1
YWxDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDcgKzE1Miw4IEBAIGJvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ28KIFBsYXRmb3JtTWVkaWEgTWVkaWFQbGF5
ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dDo6cGxhdGZvcm1NZWRpYSgpIGNvbnN0CiB7
CiAgICAgUGxhdGZvcm1NZWRpYSBwOwotICAgIHAucXRNb3ZpZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UVRNb3ZpZSo+KG1fbW92aWUuZ2V0KCkpOworICAgIHAudHlwZSA9IFBsYXRmb3JtTWVkaWE6OlFU
TW92aWVWaXN1YWxDb250ZXh0VHlwZTsKKyAgICBwLm1lZGlhLnF0TW92aWVWaXN1YWxDb250ZXh0
ID0gbV92aXN1YWxDb250ZXh0OwogICAgIHJldHVybiBwOwogfQogCkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVXaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJp
dmF0ZVF1aWNrVGltZVdpbi5jcHAJKHJldmlzaW9uIDU5MDAyKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTE0LDcgKzExNCw4IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlOjpzdXBw
b3J0c0Z1bGxzY3IKIFBsYXRmb3JtTWVkaWEgTWVkaWFQbGF5ZXJQcml2YXRlOjpwbGF0Zm9ybU1l
ZGlhKCkgY29uc3QKIHsKICAgICBQbGF0Zm9ybU1lZGlhIHA7Ci0gICAgcC5xdE1vdmllID0gcmVp
bnRlcnByZXRfY2FzdDxRVE1vdmllKj4obV9xdE1vdmllLmdldCgpKTsKKyAgICBwLnR5cGUgPSBQ
bGF0Zm9ybU1lZGlhOjpRVE1vdmllR1dvcmxkVHlwZTsKKyAgICBwLm1lZGlhLnF0TW92aWVHV29y
bGQgPSBtX3F0R1dvcmxkLmdldCgpOwogICAgIHJldHVybiBwOwogfQogCkluZGV4OiBXZWJLaXQv
bWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNp
b24gNTkwNzYpCisrKyBXZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDEwLTA1LTEwICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAzODY4
OTogIzM0MDA1IHdpbGwgYnJlYWsgZnVsbHNjcmVlbiB2aWRlbyBwbGF5YmFjaworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2ODkKKworICAgICAgICBV
c2UgdGhlIG5ldyBkZWZpbml0aW9uIG9mIFBsYXRmb3JtTWVkaWEgdG8gY2hlY2sgdGhlIGFjdHVh
bCB0eXBlIAorICAgICAgICByZXR1cm5lZCBieSBNZWRpYVBsYXllci4KKyAgICAgICAgCisgICAg
ICAgICogV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tOgorICAgICAgICAo
LVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHdpbmRvd0RpZExvYWRdKToKKwogMjAxMC0w
NS0wNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFNhbSBXZWluaWcgYW5kIFNpbW9uIEZyYXNlci4KSW5kZXg6IFdlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCShyZXZpc2lv
biA1OTAwMikKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05Myw4ICs5Myw4IEBAIC0gKHZvaWQpd2luZG93RGlk
TG9hZAogICAgIFFUTW92aWVMYXllciAqbGF5ZXIgPSBbW2dldFFUTW92aWVMYXllckNsYXNzKCkg
YWxsb2NdIGluaXRdOwogICAgIFtbd2luZG93IGNvbnRlbnRWaWV3XSBzZXRMYXllcjpsYXllcl07
CiAgICAgW1t3aW5kb3cgY29udGVudFZpZXddIHNldFdhbnRzTGF5ZXI6WUVTXTsKLSAgICBpZiAo
X21lZGlhRWxlbWVudCkKLSAgICAgICAgW2xheWVyIHNldE1vdmllOl9tZWRpYUVsZW1lbnQtPnBs
YXRmb3JtTWVkaWEoKS5xdE1vdmllXTsKKyAgICBpZiAoX21lZGlhRWxlbWVudCAmJiBfbWVkaWFF
bGVtZW50LT5wbGF0Zm9ybU1lZGlhKCkudHlwZSA9PSBQbGF0Zm9ybU1lZGlhOjpRVE1vdmllVHlw
ZSkKKyAgICAgICAgW2xheWVyIHNldE1vdmllOl9tZWRpYUVsZW1lbnQtPnBsYXRmb3JtTWVkaWEo
KS5tZWRpYS5xdE1vdmllXTsKICAgICBbd2luZG93IHNldEhhc1NoYWRvdzpZRVNdOyAvLyBUaGlz
IGlzIG5pY2VyIHdpdGggYSBzaGFkb3cuCiAgICAgW3dpbmRvdyBzZXRMZXZlbDpOU1BvcFVwTWVu
dVdpbmRvd0xldmVsLTFdOwogICAgIFtsYXllciByZWxlYXNlXTsKSW5kZXg6IFdlYktpdC93aW4v
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA1
OTA3NikKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTAtMDUtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDM4Njg5OiAj
MzQwMDUgd2lsbCBicmVhayBmdWxsc2NyZWVuIHZpZGVvIHBsYXliYWNrCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODY4OQorCisgICAgICAgIFVzZSB0
aGUgbmV3IGRlZmluaXRpb24gb2YgUGxhdGZvcm1NZWRpYSB0byBjaGVjayB0aGUgYWN0dWFsIHR5
cGUgCisgICAgICAgIHJldHVybmVkIGJ5IE1lZGlhUGxheWVyLgorCisgICAgICAgICogRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5jcHA6CisgICAgICAgIChGdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyOjptb3ZpZSk6CisKIDIwMTAtMDUtMDcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRlbGUgUGV0ZXJzb24uCkluZGV4OiBXZWJLaXQv
d2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93
aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDU5MDAyKQorKysgV2Vi
S2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTk0LDcgKzE5NCwxNCBAQCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjp+RnVsbHNjcmVlblZp
CiAKIFFUTW92aWVHV29ybGQqIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXI6Om1vdmllKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyByZWludGVycHJldF9jYXN0PFFUTW92
aWVHV29ybGQqPihtX21lZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLnF0TW92aWUpIDogMDsK
KyAgICAgICAgaWYgKCFtX21lZGlhRWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybiAwOworCisg
ICAgICAgIFBsYXRmb3JtTWVkaWEgcGxhdGZvcm1NZWRpYSA9IG1fbWVkaWFFbGVtZW50LT5wbGF0
Zm9ybU1lZGlhKCk7CisgICAgICAgIGlmIChwbGF0Zm9ybU1lZGlhLnR5cGUgIT0gUGxhdGZvcm1N
ZWRpYTo6UVRNb3ZpZUdXb3JsZFR5cGUpCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAg
ICByZXR1cm4gcGxhdGZvcm1NZWRpYS5tZWRpYS5xdE1vdmllR1dvcmxkOwogfQogCiB2b2lkIEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXI6OnNldE1lZGlhRWxlbWVudChIVE1MTWVkaWFFbGVtZW50
KiBtZWRpYUVsZW1lbnQpCg==
</data>
<flag name="review"
          id="39784"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55657</attachid>
            <date>2010-05-10 21:24:56 -0700</date>
            <delta_ts>2010-05-10 21:28:09 -0700</delta_ts>
            <desc>Redefinition of PlatformMedia</desc>
            <filename>38689.patch</filename>
            <type>text/plain</type>
            <size>8024</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTA5NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDUtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBCdWcgMzg2ODk6ICMzNDAwNSB3aWxsIGJyZWFrIGZ1bGxzY3JlZW4gdmlkZW8gcGxheWJh
Y2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Njg5
CisgICAgICAgIAorICAgICAgICBUaGUgUGxhdGZvcm1NZWRpYSBzdHJ1Y3Qgbm93IGNvbnRhaW5z
IGEgdHlwZSBmaWVsZCBpbmRpY2F0aW5nIHdoaWNoIHR5cGUKKyAgICAgICAgaXQgY29udGFpbnMu
ICBUaGUgc3RydWN0IG5vdyBjb250YWlucyBhIHVuaW9uIG9mIGFsbCBwb3NzaWJsZSByZXR1cm4g
dHlwZXMsCisgICAgICAgIGFsbG93aW5nIHRoZSB0eXBlIG9mIG1lZGlhIHJldHVybmVkIGJ5IE1l
ZGlhUGxheWVyUHJpdmF0ZSBpbnN0YW5jZXMgdG8gYmUKKyAgICAgICAgZGV0ZXJtaW5lZCBhdCBy
dW50aW1lLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWE6Oik6CisgICAgICAgIChXZWJDb3JlOjopOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5t
bToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6cGxhdGZvcm1NZWRpYSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNr
VGltZVZpc3VhbENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dDo6cGxhdGZvcm1NZWRpYSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBsYXRmb3JtTWVkaWEpOgorCiAy
MDEwLTA1LTEwICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgogCiAg
ICAgICAgIFt3eF0gQnVpbGQgZml4IGZvciB3eCAyLjggYWZ0ZXIgY29tcGxleCB0ZXh0IGNoYW5n
ZXMuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCShyZXZpc2lv
biA1OTA5NCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtNDksNiArNDksOCBAQAogI2Vsc2UKIGNsYXNzIFFUTW92aWU7CiAjZW5k
aWYKK2NsYXNzIFFUTW92aWVHV29ybGQ7CitjbGFzcyBRVE1vdmllVmlzdWFsQ29udGV4dDsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01NiwxMSArNTgsMjIgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogLy8gdHlwZXMgc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IG1lZGlhIHBsYXllci4KIC8v
IFdlIGhhdmUgdG8gZG8gdGhhdCBoYXMgbXVsdGlwbGUgbWVkaWEgcGxheWVycwogLy8gYmFja2Vu
ZCBjYW4gbGl2ZSBhdCBydW50aW1lLgotdHlwZWRlZiBzdHJ1Y3QgUGxhdGZvcm1NZWRpYSB7Ci0g
ICAgUVRNb3ZpZSogcXRNb3ZpZTsKLX0gUGxhdGZvcm1NZWRpYTsKK3N0cnVjdCBQbGF0Zm9ybU1l
ZGlhIHsKKyAgICBlbnVtIHsKKyAgICAgICAgTm9uZSA9IDAsCisgICAgICAgIFFUTW92aWVUeXBl
LAorICAgICAgICBRVE1vdmllR1dvcmxkVHlwZSwKKyAgICAgICAgUVRNb3ZpZVZpc3VhbENvbnRl
eHRUeXBlCisgICAgfSB0eXBlOwogCi1zdGF0aWMgY29uc3QgUGxhdGZvcm1NZWRpYSBOb1BsYXRm
b3JtTWVkaWEgPSB7IDAgfTsKKyAgICB1bmlvbiB7CisgICAgICAgIFFUTW92aWUqIHF0TW92aWU7
CisgICAgICAgIFFUTW92aWVHV29ybGQqIHF0TW92aWVHV29ybGQ7CisgICAgICAgIFFUTW92aWVW
aXN1YWxDb250ZXh0KiBxdE1vdmllVmlzdWFsQ29udGV4dDsKKyAgICB9IG1lZGlhOworfTsKKwor
c3RhdGljIGNvbnN0IFBsYXRmb3JtTWVkaWEgTm9QbGF0Zm9ybU1lZGlhID0geyBQbGF0Zm9ybU1l
ZGlhOjpOb25lLCB7MH0gfTsKIAogY2xhc3MgQ29udGVudFR5cGU7CiBjbGFzcyBGcmFtZVZpZXc7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVR
VEtpdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRp
YVBsYXllclByaXZhdGVRVEtpdC5tbQkocmV2aXNpb24gNTkwOTQpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQkod29ya2luZyBjb3B5
KQpAQCAtNjAxLDggKzYwMSwxMCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6cHJlcGFyZVRv
UGxheSgpCiAKIFBsYXRmb3JtTWVkaWEgTWVkaWFQbGF5ZXJQcml2YXRlOjpwbGF0Zm9ybU1lZGlh
KCkgY29uc3QKIHsKLSAgICBQbGF0Zm9ybU1lZGlhIHBsYWZ0Zm9ybU1lZGlhID0geyBtX3F0TW92
aWUuZ2V0KCkgfTsKLSAgICByZXR1cm4gcGxhZnRmb3JtTWVkaWE7CisgICAgUGxhdGZvcm1NZWRp
YSBwbTsKKyAgICBwbS50eXBlID0gUGxhdGZvcm1NZWRpYTo6UVRNb3ZpZVR5cGU7CisgICAgcG0u
bWVkaWEucXRNb3ZpZSA9IG1fcXRNb3ZpZS5nZXQoKTsKKyAgICByZXR1cm4gcG07CiB9CiAKICNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclBy
aXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcAkocmV2aXNpb24gNTkwOTQpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1
YWxDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDcgKzE1Miw4IEBAIGJvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ28KIFBsYXRmb3JtTWVkaWEgTWVkaWFQbGF5
ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dDo6cGxhdGZvcm1NZWRpYSgpIGNvbnN0CiB7
CiAgICAgUGxhdGZvcm1NZWRpYSBwOwotICAgIHAucXRNb3ZpZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UVRNb3ZpZSo+KG1fbW92aWUuZ2V0KCkpOworICAgIHAudHlwZSA9IFBsYXRmb3JtTWVkaWE6OlFU
TW92aWVWaXN1YWxDb250ZXh0VHlwZTsKKyAgICBwLm1lZGlhLnF0TW92aWVWaXN1YWxDb250ZXh0
ID0gbV92aXN1YWxDb250ZXh0LmdldCgpOwogICAgIHJldHVybiBwOwogfQogCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVXaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxh
eWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5jcHAJKHJldmlzaW9uIDU5MDk0KQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTE0LDcgKzExNCw4IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRl
OjpzdXBwb3J0c0Z1bGxzY3IKIFBsYXRmb3JtTWVkaWEgTWVkaWFQbGF5ZXJQcml2YXRlOjpwbGF0
Zm9ybU1lZGlhKCkgY29uc3QKIHsKICAgICBQbGF0Zm9ybU1lZGlhIHA7Ci0gICAgcC5xdE1vdmll
ID0gcmVpbnRlcnByZXRfY2FzdDxRVE1vdmllKj4obV9xdE1vdmllLmdldCgpKTsKKyAgICBwLnR5
cGUgPSBQbGF0Zm9ybU1lZGlhOjpRVE1vdmllR1dvcmxkVHlwZTsKKyAgICBwLm1lZGlhLnF0TW92
aWVHV29ybGQgPSBtX3F0R1dvcmxkLmdldCgpOwogICAgIHJldHVybiBwOwogfQogCkluZGV4OiBX
ZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL0NoYW5nZUxvZwko
cmV2aXNpb24gNTkwOTQpCisrKyBXZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDEwLTA1LTEwICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1
ZyAzODY4OTogIzM0MDA1IHdpbGwgYnJlYWsgZnVsbHNjcmVlbiB2aWRlbyBwbGF5YmFjaworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2ODkKKworICAg
ICAgICBVc2UgdGhlIG5ldyBkZWZpbml0aW9uIG9mIFBsYXRmb3JtTWVkaWEgdG8gY2hlY2sgdGhl
IGFjdHVhbCB0eXBlIAorICAgICAgICByZXR1cm5lZCBieSBNZWRpYVBsYXllci4KKyAgICAgICAg
CisgICAgICAgICogV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tOgorICAg
ICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHdpbmRvd0RpZExvYWRdKToKKwog
MjAxMC0wNS0xMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVuYnJlYWsgdGhlIHdvcmxkLiAoRml4IE1hYyBidWlsZHMpLgpJbmRleDogV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0JKHJldmlz
aW9uIDU5MDk0KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTkzLDggKzkzLDggQEAgLSAodm9pZCl3aW5kb3dE
aWRMb2FkCiAgICAgUVRNb3ZpZUxheWVyICpsYXllciA9IFtbZ2V0UVRNb3ZpZUxheWVyQ2xhc3Mo
KSBhbGxvY10gaW5pdF07CiAgICAgW1t3aW5kb3cgY29udGVudFZpZXddIHNldExheWVyOmxheWVy
XTsKICAgICBbW3dpbmRvdyBjb250ZW50Vmlld10gc2V0V2FudHNMYXllcjpZRVNdOwotICAgIGlm
IChfbWVkaWFFbGVtZW50KQotICAgICAgICBbbGF5ZXIgc2V0TW92aWU6X21lZGlhRWxlbWVudC0+
cGxhdGZvcm1NZWRpYSgpLnF0TW92aWVdOworICAgIGlmIChfbWVkaWFFbGVtZW50ICYmIF9tZWRp
YUVsZW1lbnQtPnBsYXRmb3JtTWVkaWEoKS50eXBlID09IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWE6
OlFUTW92aWVUeXBlKQorICAgICAgICBbbGF5ZXIgc2V0TW92aWU6X21lZGlhRWxlbWVudC0+cGxh
dGZvcm1NZWRpYSgpLm1lZGlhLnF0TW92aWVdOwogICAgIFt3aW5kb3cgc2V0SGFzU2hhZG93OllF
U107IC8vIFRoaXMgaXMgbmljZXIgd2l0aCBhIHNoYWRvdy4KICAgICBbd2luZG93IHNldExldmVs
Ok5TUG9wVXBNZW51V2luZG93TGV2ZWwtMV07CiAgICAgW2xheWVyIHJlbGVhc2VdOwpAQCAtMTE0
LDcgKzExNCw3IEBAIC0gKHZvaWQpc2V0TWVkaWFFbGVtZW50OihXZWJDb3JlOjpIVE1MTWUKICNl
bHNlCiAgICAgX21lZGlhRWxlbWVudCA9IG1lZGlhRWxlbWVudDsKICAgICBpZiAoW3NlbGYgaXNX
aW5kb3dMb2FkZWRdKSB7Ci0gICAgICAgIFFUTW92aWUgKm1vdmllID0gX21lZGlhRWxlbWVudC0+
cGxhdGZvcm1NZWRpYSgpLnF0TW92aWU7CisgICAgICAgIFFUTW92aWUgKm1vdmllID0gX21lZGlh
RWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLnR5cGUgPT0gV2ViQ29yZTo6UGxhdGZvcm1NZWRpYTo6
UVRNb3ZpZVR5cGUgPyBfbWVkaWFFbGVtZW50LT5wbGF0Zm9ybU1lZGlhKCkubWVkaWEucXRNb3Zp
ZSA6IDA7CiAgICAgICAgIFFUTW92aWVMYXllciAqbW92aWVMYXllciA9IChRVE1vdmllTGF5ZXIg
KilbW1tzZWxmIGZ1bGxzY3JlZW5XaW5kb3ddIGNvbnRlbnRWaWV3XSBsYXllcl07CiAKICAgICAg
ICAgQVNTRVJUKG1vdmllTGF5ZXIgJiYgW21vdmllTGF5ZXIgaXNLaW5kT2ZDbGFzczpbZ2V0UVRN
b3ZpZUxheWVyQ2xhc3MoKSBjbGFzc11dKTsKSW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA1OTA5NCkKKysrIFdl
YktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAt
MDUtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDM4Njg5OiAjMzQwMDUgd2lsbCBi
cmVhayBmdWxsc2NyZWVuIHZpZGVvIHBsYXliYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODY4OQorCisgICAgICAgIFVzZSB0aGUgbmV3IGRlZmlu
aXRpb24gb2YgUGxhdGZvcm1NZWRpYSB0byBjaGVjayB0aGUgYWN0dWFsIHR5cGUgCisgICAgICAg
IHJldHVybmVkIGJ5IE1lZGlhUGxheWVyLgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjptb3ZpZSk6
CisKIDIwMTAtMDUtMDcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRlbGUgUGV0ZXJzb24uCkluZGV4OiBXZWJLaXQvd2luL0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDU5MDAyKQorKysgV2ViS2l0L3dpbi9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk0LDcgKzE5NCwx
NCBAQCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjp+RnVsbHNjcmVlblZpCiAKIFFUTW92aWVH
V29ybGQqIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXI6Om1vdmllKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyByZWludGVycHJldF9jYXN0PFFUTW92aWVHV29ybGQqPiht
X21lZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLnF0TW92aWUpIDogMDsKKyAgICBpZiAoIW1f
bWVkaWFFbGVtZW50KQ0KKyAgICAgICAgcmV0dXJuIDA7DQorDQorICAgIFBsYXRmb3JtTWVkaWEg
cGxhdGZvcm1NZWRpYSA9IG1fbWVkaWFFbGVtZW50LT5wbGF0Zm9ybU1lZGlhKCk7DQorICAgIGlm
IChwbGF0Zm9ybU1lZGlhLnR5cGUgIT0gUGxhdGZvcm1NZWRpYTo6UVRNb3ZpZUdXb3JsZFR5cGUp
DQorICAgICAgICByZXR1cm4gMDsNCisNCisgICAgcmV0dXJuIHBsYXRmb3JtTWVkaWEubWVkaWEu
cXRNb3ZpZUdXb3JsZDsKIH0KIAogdm9pZCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjpzZXRN
ZWRpYUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55658</attachid>
            <date>2010-05-10 21:28:09 -0700</date>
            <delta_ts>2010-05-10 21:49:25 -0700</delta_ts>
            <desc>Redefinition of PlatformMedia</desc>
            <filename>38689.patch</filename>
            <type>text/plain</type>
            <size>8462</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTA5NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDUtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBCdWcgMzg2ODk6ICMzNDAwNSB3aWxsIGJyZWFrIGZ1bGxzY3JlZW4gdmlkZW8gcGxheWJh
Y2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Njg5
CisgICAgICAgIAorICAgICAgICBUaGUgUGxhdGZvcm1NZWRpYSBzdHJ1Y3Qgbm93IGNvbnRhaW5z
IGEgdHlwZSBmaWVsZCBpbmRpY2F0aW5nIHdoaWNoIHR5cGUKKyAgICAgICAgaXQgY29udGFpbnMu
ICBUaGUgc3RydWN0IG5vdyBjb250YWlucyBhIHVuaW9uIG9mIGFsbCBwb3NzaWJsZSByZXR1cm4g
dHlwZXMsCisgICAgICAgIGFsbG93aW5nIHRoZSB0eXBlIG9mIG1lZGlhIHJldHVybmVkIGJ5IE1l
ZGlhUGxheWVyUHJpdmF0ZSBpbnN0YW5jZXMgdG8gYmUKKyAgICAgICAgZGV0ZXJtaW5lZCBhdCBy
dW50aW1lLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWE6Oik6CisgICAgICAgIChXZWJDb3JlOjopOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5t
bToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6cGxhdGZvcm1NZWRpYSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNr
VGltZVZpc3VhbENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dDo6cGxhdGZvcm1NZWRpYSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBsYXRmb3JtTWVkaWEpOgorCiAy
MDEwLTA1LTEwICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgogCiAg
ICAgICAgIFt3eF0gQnVpbGQgZml4IGZvciB3eCAyLjggYWZ0ZXIgY29tcGxleCB0ZXh0IGNoYW5n
ZXMuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAkocmV2
aXNpb24gNTkwMDIpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NvbnN0IFBsYXRmb3JtTWVkaWEgTm9QbGF0Zm9ybU1lZGlhID0geyBQbGF0Zm9ybU1lZGlh
OjpOb25lIH07CisKIC8vIGEgbnVsbCBwbGF5ZXIgdG8gbWFrZSBNZWRpYVBsYXllciBsb2dpYyBz
aW1wbGVyCiAKIGNsYXNzIE51bGxNZWRpYVBsYXllclByaXZhdGUgOiBwdWJsaWMgTWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlIHsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmgJKHJldmlzaW9uIDU5MDk0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw4IEBACiAjZWxzZQogY2xh
c3MgUVRNb3ZpZTsKICNlbmRpZgorY2xhc3MgUVRNb3ZpZUdXb3JsZDsKK2NsYXNzIFFUTW92aWVW
aXN1YWxDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU2LDExICs1OCwyMiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQg
bWVkaWEgcGxheWVyLgogLy8gV2UgaGF2ZSB0byBkbyB0aGF0IGhhcyBtdWx0aXBsZSBtZWRpYSBw
bGF5ZXJzCiAvLyBiYWNrZW5kIGNhbiBsaXZlIGF0IHJ1bnRpbWUuCi10eXBlZGVmIHN0cnVjdCBQ
bGF0Zm9ybU1lZGlhIHsKLSAgICBRVE1vdmllKiBxdE1vdmllOwotfSBQbGF0Zm9ybU1lZGlhOwor
c3RydWN0IFBsYXRmb3JtTWVkaWEgeworICAgIGVudW0geworICAgICAgICBOb25lLAorICAgICAg
ICBRVE1vdmllVHlwZSwKKyAgICAgICAgUVRNb3ZpZUdXb3JsZFR5cGUsCisgICAgICAgIFFUTW92
aWVWaXN1YWxDb250ZXh0VHlwZQorICAgIH0gdHlwZTsKIAotc3RhdGljIGNvbnN0IFBsYXRmb3Jt
TWVkaWEgTm9QbGF0Zm9ybU1lZGlhID0geyAwIH07CisgICAgdW5pb24geworICAgICAgICBRVE1v
dmllKiBxdE1vdmllOworICAgICAgICBRVE1vdmllR1dvcmxkKiBxdE1vdmllR1dvcmxkOworICAg
ICAgICBRVE1vdmllVmlzdWFsQ29udGV4dCogcXRNb3ZpZVZpc3VhbENvbnRleHQ7CisgICAgfSBt
ZWRpYTsKK307CisKK2V4dGVybiBjb25zdCBQbGF0Zm9ybU1lZGlhIE5vUGxhdGZvcm1NZWRpYTsK
IAogY2xhc3MgQ29udGVudFR5cGU7CiBjbGFzcyBGcmFtZVZpZXc7CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtp
dC5tbQkocmV2aXNpb24gNTkwOTQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9N
ZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQkod29ya2luZyBjb3B5KQpAQCAtNjAxLDggKzYwMSwx
MCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6cHJlcGFyZVRvUGxheSgpCiAKIFBsYXRmb3Jt
TWVkaWEgTWVkaWFQbGF5ZXJQcml2YXRlOjpwbGF0Zm9ybU1lZGlhKCkgY29uc3QKIHsKLSAgICBQ
bGF0Zm9ybU1lZGlhIHBsYWZ0Zm9ybU1lZGlhID0geyBtX3F0TW92aWUuZ2V0KCkgfTsKLSAgICBy
ZXR1cm4gcGxhZnRmb3JtTWVkaWE7CisgICAgUGxhdGZvcm1NZWRpYSBwbTsKKyAgICBwbS50eXBl
ID0gUGxhdGZvcm1NZWRpYTo6UVRNb3ZpZVR5cGU7CisgICAgcG0ubWVkaWEucXRNb3ZpZSA9IG1f
cXRNb3ZpZS5nZXQoKTsKKyAgICByZXR1cm4gcG07CiB9CiAKICNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBs
YXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1
YWxDb250ZXh0LmNwcAkocmV2aXNpb24gNTkwOTQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTUyLDcgKzE1Miw4IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUXVp
Y2tUaW1lVmlzdWFsQ28KIFBsYXRmb3JtTWVkaWEgTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1l
VmlzdWFsQ29udGV4dDo6cGxhdGZvcm1NZWRpYSgpIGNvbnN0CiB7CiAgICAgUGxhdGZvcm1NZWRp
YSBwOwotICAgIHAucXRNb3ZpZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UVRNb3ZpZSo+KG1fbW92aWUu
Z2V0KCkpOworICAgIHAudHlwZSA9IFBsYXRmb3JtTWVkaWE6OlFUTW92aWVWaXN1YWxDb250ZXh0
VHlwZTsKKyAgICBwLm1lZGlhLnF0TW92aWVWaXN1YWxDb250ZXh0ID0gbV92aXN1YWxDb250ZXh0
LmdldCgpOwogICAgIHJldHVybiBwOwogfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVXaW4uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGlt
ZVdpbi5jcHAJKHJldmlzaW9uIDU5MDk0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTE0LDcgKzExNCw4IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlOjpzdXBwb3J0c0Z1bGxzY3IK
IFBsYXRmb3JtTWVkaWEgTWVkaWFQbGF5ZXJQcml2YXRlOjpwbGF0Zm9ybU1lZGlhKCkgY29uc3QK
IHsKICAgICBQbGF0Zm9ybU1lZGlhIHA7Ci0gICAgcC5xdE1vdmllID0gcmVpbnRlcnByZXRfY2Fz
dDxRVE1vdmllKj4obV9xdE1vdmllLmdldCgpKTsKKyAgICBwLnR5cGUgPSBQbGF0Zm9ybU1lZGlh
OjpRVE1vdmllR1dvcmxkVHlwZTsKKyAgICBwLm1lZGlhLnF0TW92aWVHV29ybGQgPSBtX3F0R1dv
cmxkLmdldCgpOwogICAgIHJldHVybiBwOwogfQogCkluZGV4OiBXZWJLaXQvbWFjL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gNTkwOTQpCisr
KyBXZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisy
MDEwLTA1LTEwICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAzODY4OTogIzM0MDA1IHdp
bGwgYnJlYWsgZnVsbHNjcmVlbiB2aWRlbyBwbGF5YmFjaworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2ODkKKworICAgICAgICBVc2UgdGhlIG5ldyBk
ZWZpbml0aW9uIG9mIFBsYXRmb3JtTWVkaWEgdG8gY2hlY2sgdGhlIGFjdHVhbCB0eXBlIAorICAg
ICAgICByZXR1cm5lZCBieSBNZWRpYVBsYXllci4KKyAgICAgICAgCisgICAgICAgICogV2ViVmll
dy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tOgorICAgICAgICAoLVtXZWJWaWRlb0Z1
bGxzY3JlZW5Db250cm9sbGVyIHdpbmRvd0RpZExvYWRdKToKKwogMjAxMC0wNS0xMCAgQW5kZXJz
IENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFVuYnJlYWsgdGhlIHdv
cmxkLiAoRml4IE1hYyBidWlsZHMpLgpJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0JKHJldmlzaW9uIDU5MDk0KQorKysgV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTkzLDggKzkzLDggQEAgLSAodm9pZCl3aW5kb3dEaWRMb2FkCiAgICAgUVRNb3Zp
ZUxheWVyICpsYXllciA9IFtbZ2V0UVRNb3ZpZUxheWVyQ2xhc3MoKSBhbGxvY10gaW5pdF07CiAg
ICAgW1t3aW5kb3cgY29udGVudFZpZXddIHNldExheWVyOmxheWVyXTsKICAgICBbW3dpbmRvdyBj
b250ZW50Vmlld10gc2V0V2FudHNMYXllcjpZRVNdOwotICAgIGlmIChfbWVkaWFFbGVtZW50KQot
ICAgICAgICBbbGF5ZXIgc2V0TW92aWU6X21lZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLnF0
TW92aWVdOworICAgIGlmIChfbWVkaWFFbGVtZW50ICYmIF9tZWRpYUVsZW1lbnQtPnBsYXRmb3Jt
TWVkaWEoKS50eXBlID09IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWE6OlFUTW92aWVUeXBlKQorICAg
ICAgICBbbGF5ZXIgc2V0TW92aWU6X21lZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLm1lZGlh
LnF0TW92aWVdOwogICAgIFt3aW5kb3cgc2V0SGFzU2hhZG93OllFU107IC8vIFRoaXMgaXMgbmlj
ZXIgd2l0aCBhIHNoYWRvdy4KICAgICBbd2luZG93IHNldExldmVsOk5TUG9wVXBNZW51V2luZG93
TGV2ZWwtMV07CiAgICAgW2xheWVyIHJlbGVhc2VdOwpAQCAtMTE0LDcgKzExNCw3IEBAIC0gKHZv
aWQpc2V0TWVkaWFFbGVtZW50OihXZWJDb3JlOjpIVE1MTWUKICNlbHNlCiAgICAgX21lZGlhRWxl
bWVudCA9IG1lZGlhRWxlbWVudDsKICAgICBpZiAoW3NlbGYgaXNXaW5kb3dMb2FkZWRdKSB7Ci0g
ICAgICAgIFFUTW92aWUgKm1vdmllID0gX21lZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLnF0
TW92aWU7CisgICAgICAgIFFUTW92aWUgKm1vdmllID0gX21lZGlhRWxlbWVudC0+cGxhdGZvcm1N
ZWRpYSgpLnR5cGUgPT0gV2ViQ29yZTo6UGxhdGZvcm1NZWRpYTo6UVRNb3ZpZVR5cGUgPyBfbWVk
aWFFbGVtZW50LT5wbGF0Zm9ybU1lZGlhKCkubWVkaWEucXRNb3ZpZSA6IDA7CiAgICAgICAgIFFU
TW92aWVMYXllciAqbW92aWVMYXllciA9IChRVE1vdmllTGF5ZXIgKilbW1tzZWxmIGZ1bGxzY3Jl
ZW5XaW5kb3ddIGNvbnRlbnRWaWV3XSBsYXllcl07CiAKICAgICAgICAgQVNTRVJUKG1vdmllTGF5
ZXIgJiYgW21vdmllTGF5ZXIgaXNLaW5kT2ZDbGFzczpbZ2V0UVRNb3ZpZUxheWVyQ2xhc3MoKSBj
bGFzc11dKTsKSW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA1OTA5NCkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDUtMTAgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQnVnIDM4Njg5OiAjMzQwMDUgd2lsbCBicmVhayBmdWxsc2NyZWVuIHZp
ZGVvIHBsYXliYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zODY4OQorCisgICAgICAgIFVzZSB0aGUgbmV3IGRlZmluaXRpb24gb2YgUGxhdGZvcm1N
ZWRpYSB0byBjaGVjayB0aGUgYWN0dWFsIHR5cGUgCisgICAgICAgIHJldHVybmVkIGJ5IE1lZGlh
UGxheWVyLgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjptb3ZpZSk6CisKIDIwMTAtMDUtMDcgIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRl
bGUgUGV0ZXJzb24uCkluZGV4OiBXZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5j
cHAJKHJldmlzaW9uIDU5MDAyKQorKysgV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk0LDcgKzE5NCwxNCBAQCBGdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyOjp+RnVsbHNjcmVlblZpCiAKIFFUTW92aWVHV29ybGQqIEZ1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXI6Om1vdmllKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9tZWRpYUVsZW1l
bnQgPyByZWludGVycHJldF9jYXN0PFFUTW92aWVHV29ybGQqPihtX21lZGlhRWxlbWVudC0+cGxh
dGZvcm1NZWRpYSgpLnF0TW92aWUpIDogMDsKKyAgICBpZiAoIW1fbWVkaWFFbGVtZW50KQ0KKyAg
ICAgICAgcmV0dXJuIDA7DQorDQorICAgIFBsYXRmb3JtTWVkaWEgcGxhdGZvcm1NZWRpYSA9IG1f
bWVkaWFFbGVtZW50LT5wbGF0Zm9ybU1lZGlhKCk7DQorICAgIGlmIChwbGF0Zm9ybU1lZGlhLnR5
cGUgIT0gUGxhdGZvcm1NZWRpYTo6UVRNb3ZpZUdXb3JsZFR5cGUpDQorICAgICAgICByZXR1cm4g
MDsNCisNCisgICAgcmV0dXJuIHBsYXRmb3JtTWVkaWEubWVkaWEucXRNb3ZpZUdXb3JsZDsKIH0K
IAogdm9pZCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjpzZXRNZWRpYUVsZW1lbnQoSFRNTE1l
ZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55662</attachid>
            <date>2010-05-10 21:49:25 -0700</date>
            <delta_ts>2010-05-12 07:35:26 -0700</delta_ts>
            <desc>Redefinition of PlatformMedia</desc>
            <filename>38689.patch</filename>
            <type>text/plain</type>
            <size>8428</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTEyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDUtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBCdWcgMzg2ODk6ICMzNDAwNSB3aWxsIGJyZWFrIGZ1bGxzY3JlZW4gdmlkZW8gcGxheWJh
Y2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Njg5
CisgICAgICAgIAorICAgICAgICBUaGUgUGxhdGZvcm1NZWRpYSBzdHJ1Y3Qgbm93IGNvbnRhaW5z
IGEgdHlwZSBmaWVsZCBpbmRpY2F0aW5nIHdoaWNoIHR5cGUKKyAgICAgICAgaXQgY29udGFpbnMu
ICBUaGUgc3RydWN0IG5vdyBjb250YWlucyBhIHVuaW9uIG9mIGFsbCBwb3NzaWJsZSByZXR1cm4g
dHlwZXMsCisgICAgICAgIGFsbG93aW5nIHRoZSB0eXBlIG9mIG1lZGlhIHJldHVybmVkIGJ5IE1l
ZGlhUGxheWVyUHJpdmF0ZSBpbnN0YW5jZXMgdG8gYmUKKyAgICAgICAgZGV0ZXJtaW5lZCBhdCBy
dW50aW1lLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWE6Oik6CisgICAgICAgIChXZWJDb3JlOjopOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5t
bToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6cGxhdGZvcm1NZWRpYSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNr
VGltZVZpc3VhbENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dDo6cGxhdGZvcm1NZWRpYSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnBsYXRmb3JtTWVkaWEpOgorCiAy
MDEwLTA1LTEwICBEdW1pdHJ1IERhbmlsaXVjICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQnJhZHkgRWlkc29uLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5jcHAJKHJldmlzaW9uIDU5MDAyKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjb25zdCBQbGF0Zm9ybU1lZGlhIE5vUGxhdGZv
cm1NZWRpYSA9IHsgUGxhdGZvcm1NZWRpYTo6Tm9uZSwgezB9IH07CisKIC8vIGEgbnVsbCBwbGF5
ZXIgdG8gbWFrZSBNZWRpYVBsYXllciBsb2dpYyBzaW1wbGVyCiAKIGNsYXNzIE51bGxNZWRpYVBs
YXllclByaXZhdGUgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgJKHJldmlzaW9uIDU5MDk0KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCSh3b3JraW5nIGNvcHkp
CkBAIC00OSw2ICs0OSw4IEBACiAjZWxzZQogY2xhc3MgUVRNb3ZpZTsKICNlbmRpZgorY2xhc3Mg
UVRNb3ZpZUdXb3JsZDsKK2NsYXNzIFFUTW92aWVWaXN1YWxDb250ZXh0OwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTU2LDExICs1OCwyMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyB0
eXBlcyBzdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQgbWVkaWEgcGxheWVyLgogLy8gV2UgaGF2ZSB0
byBkbyB0aGF0IGhhcyBtdWx0aXBsZSBtZWRpYSBwbGF5ZXJzCiAvLyBiYWNrZW5kIGNhbiBsaXZl
IGF0IHJ1bnRpbWUuCi10eXBlZGVmIHN0cnVjdCBQbGF0Zm9ybU1lZGlhIHsKLSAgICBRVE1vdmll
KiBxdE1vdmllOwotfSBQbGF0Zm9ybU1lZGlhOworc3RydWN0IFBsYXRmb3JtTWVkaWEgeworICAg
IGVudW0geworICAgICAgICBOb25lLAorICAgICAgICBRVE1vdmllVHlwZSwKKyAgICAgICAgUVRN
b3ZpZUdXb3JsZFR5cGUsCisgICAgICAgIFFUTW92aWVWaXN1YWxDb250ZXh0VHlwZQorICAgIH0g
dHlwZTsKIAotc3RhdGljIGNvbnN0IFBsYXRmb3JtTWVkaWEgTm9QbGF0Zm9ybU1lZGlhID0geyAw
IH07CisgICAgdW5pb24geworICAgICAgICBRVE1vdmllKiBxdE1vdmllOworICAgICAgICBRVE1v
dmllR1dvcmxkKiBxdE1vdmllR1dvcmxkOworICAgICAgICBRVE1vdmllVmlzdWFsQ29udGV4dCog
cXRNb3ZpZVZpc3VhbENvbnRleHQ7CisgICAgfSBtZWRpYTsKK307CisKK2V4dGVybiBjb25zdCBQ
bGF0Zm9ybU1lZGlhIE5vUGxhdGZvcm1NZWRpYTsKIAogY2xhc3MgQ29udGVudFR5cGU7CiBjbGFz
cyBGcmFtZVZpZXc7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBs
YXllclByaXZhdGVRVEtpdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQkocmV2aXNpb24gNTkwOTQpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQko
d29ya2luZyBjb3B5KQpAQCAtNjAxLDggKzYwMSwxMCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZTo6cHJlcGFyZVRvUGxheSgpCiAKIFBsYXRmb3JtTWVkaWEgTWVkaWFQbGF5ZXJQcml2YXRlOjpw
bGF0Zm9ybU1lZGlhKCkgY29uc3QKIHsKLSAgICBQbGF0Zm9ybU1lZGlhIHBsYWZ0Zm9ybU1lZGlh
ID0geyBtX3F0TW92aWUuZ2V0KCkgfTsKLSAgICByZXR1cm4gcGxhZnRmb3JtTWVkaWE7CisgICAg
UGxhdGZvcm1NZWRpYSBwbTsKKyAgICBwbS50eXBlID0gUGxhdGZvcm1NZWRpYTo6UVRNb3ZpZVR5
cGU7CisgICAgcG0ubWVkaWEucXRNb3ZpZSA9IG1fcXRNb3ZpZS5nZXQoKTsKKyAgICByZXR1cm4g
cG07CiB9CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxD
b250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9N
ZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcAkocmV2aXNpb24gNTkw
OTQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVR
dWlja1RpbWVWaXN1YWxDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDcgKzE1Miw4
IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ28KIFBsYXRmb3JtTWVk
aWEgTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dDo6cGxhdGZvcm1NZWRp
YSgpIGNvbnN0CiB7CiAgICAgUGxhdGZvcm1NZWRpYSBwOwotICAgIHAucXRNb3ZpZSA9IHJlaW50
ZXJwcmV0X2Nhc3Q8UVRNb3ZpZSo+KG1fbW92aWUuZ2V0KCkpOworICAgIHAudHlwZSA9IFBsYXRm
b3JtTWVkaWE6OlFUTW92aWVWaXN1YWxDb250ZXh0VHlwZTsKKyAgICBwLm1lZGlhLnF0TW92aWVW
aXN1YWxDb250ZXh0ID0gbV92aXN1YWxDb250ZXh0LmdldCgpOwogICAgIHJldHVybiBwOwogfQog
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVR
dWlja1RpbWVXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5jcHAJKHJldmlzaW9uIDU5MDk0KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tU
aW1lV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE0LDcgKzExNCw4IEBAIGJvb2wgTWVkaWFQ
bGF5ZXJQcml2YXRlOjpzdXBwb3J0c0Z1bGxzY3IKIFBsYXRmb3JtTWVkaWEgTWVkaWFQbGF5ZXJQ
cml2YXRlOjpwbGF0Zm9ybU1lZGlhKCkgY29uc3QKIHsKICAgICBQbGF0Zm9ybU1lZGlhIHA7Ci0g
ICAgcC5xdE1vdmllID0gcmVpbnRlcnByZXRfY2FzdDxRVE1vdmllKj4obV9xdE1vdmllLmdldCgp
KTsKKyAgICBwLnR5cGUgPSBQbGF0Zm9ybU1lZGlhOjpRVE1vdmllR1dvcmxkVHlwZTsKKyAgICBw
Lm1lZGlhLnF0TW92aWVHV29ybGQgPSBtX3F0R1dvcmxkLmdldCgpOwogICAgIHJldHVybiBwOwog
fQogCkluZGV4OiBXZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFj
L0NoYW5nZUxvZwkocmV2aXNpb24gNTkwOTQpCisrKyBXZWJLaXQvbWFjL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA1LTEwICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEJ1ZyAzODY4OTogIzM0MDA1IHdpbGwgYnJlYWsgZnVsbHNjcmVlbiB2aWRlbyBw
bGF5YmFjaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Mzg2ODkKKworICAgICAgICBVc2UgdGhlIG5ldyBkZWZpbml0aW9uIG9mIFBsYXRmb3JtTWVkaWEg
dG8gY2hlY2sgdGhlIGFjdHVhbCB0eXBlIAorICAgICAgICByZXR1cm5lZCBieSBNZWRpYVBsYXll
ci4KKyAgICAgICAgCisgICAgICAgICogV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyLm1tOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHdpbmRvd0Rp
ZExvYWRdKToKKwogMjAxMC0wNS0xMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVuYnJlYWsgdGhlIHdvcmxkLiAoRml4IE1hYyBidWlsZHMpLgpJbmRl
eDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXIubW0JKHJldmlzaW9uIDU5MDk0KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTkzLDggKzkzLDggQEAgLSAo
dm9pZCl3aW5kb3dEaWRMb2FkCiAgICAgUVRNb3ZpZUxheWVyICpsYXllciA9IFtbZ2V0UVRNb3Zp
ZUxheWVyQ2xhc3MoKSBhbGxvY10gaW5pdF07CiAgICAgW1t3aW5kb3cgY29udGVudFZpZXddIHNl
dExheWVyOmxheWVyXTsKICAgICBbW3dpbmRvdyBjb250ZW50Vmlld10gc2V0V2FudHNMYXllcjpZ
RVNdOwotICAgIGlmIChfbWVkaWFFbGVtZW50KQotICAgICAgICBbbGF5ZXIgc2V0TW92aWU6X21l
ZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLnF0TW92aWVdOworICAgIGlmIChfbWVkaWFFbGVt
ZW50ICYmIF9tZWRpYUVsZW1lbnQtPnBsYXRmb3JtTWVkaWEoKS50eXBlID09IFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWE6OlFUTW92aWVUeXBlKQorICAgICAgICBbbGF5ZXIgc2V0TW92aWU6X21lZGlh
RWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLm1lZGlhLnF0TW92aWVdOwogICAgIFt3aW5kb3cgc2V0
SGFzU2hhZG93OllFU107IC8vIFRoaXMgaXMgbmljZXIgd2l0aCBhIHNoYWRvdy4KICAgICBbd2lu
ZG93IHNldExldmVsOk5TUG9wVXBNZW51V2luZG93TGV2ZWwtMV07CiAgICAgW2xheWVyIHJlbGVh
c2VdOwpAQCAtMTE0LDcgKzExNCw3IEBAIC0gKHZvaWQpc2V0TWVkaWFFbGVtZW50OihXZWJDb3Jl
OjpIVE1MTWUKICNlbHNlCiAgICAgX21lZGlhRWxlbWVudCA9IG1lZGlhRWxlbWVudDsKICAgICBp
ZiAoW3NlbGYgaXNXaW5kb3dMb2FkZWRdKSB7Ci0gICAgICAgIFFUTW92aWUgKm1vdmllID0gX21l
ZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLnF0TW92aWU7CisgICAgICAgIFFUTW92aWUgKm1v
dmllID0gX21lZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLnR5cGUgPT0gV2ViQ29yZTo6UGxh
dGZvcm1NZWRpYTo6UVRNb3ZpZVR5cGUgPyBfbWVkaWFFbGVtZW50LT5wbGF0Zm9ybU1lZGlhKCku
bWVkaWEucXRNb3ZpZSA6IDA7CiAgICAgICAgIFFUTW92aWVMYXllciAqbW92aWVMYXllciA9IChR
VE1vdmllTGF5ZXIgKilbW1tzZWxmIGZ1bGxzY3JlZW5XaW5kb3ddIGNvbnRlbnRWaWV3XSBsYXll
cl07CiAKICAgICAgICAgQVNTRVJUKG1vdmllTGF5ZXIgJiYgW21vdmllTGF5ZXIgaXNLaW5kT2ZD
bGFzczpbZ2V0UVRNb3ZpZUxheWVyQ2xhc3MoKSBjbGFzc11dKTsKSW5kZXg6IFdlYktpdC93aW4v
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA1
OTA5NCkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTAtMDUtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDM4Njg5OiAj
MzQwMDUgd2lsbCBicmVhayBmdWxsc2NyZWVuIHZpZGVvIHBsYXliYWNrCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODY4OQorCisgICAgICAgIFVzZSB0
aGUgbmV3IGRlZmluaXRpb24gb2YgUGxhdGZvcm1NZWRpYSB0byBjaGVjayB0aGUgYWN0dWFsIHR5
cGUgCisgICAgICAgIHJldHVybmVkIGJ5IE1lZGlhUGxheWVyLgorCisgICAgICAgICogRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5jcHA6CisgICAgICAgIChGdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyOjptb3ZpZSk6CisKIDIwMTAtMDUtMDcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRlbGUgUGV0ZXJzb24uCkluZGV4OiBXZWJLaXQv
d2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93
aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDU5MDAyKQorKysgV2Vi
S2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTk0LDcgKzE5NCwxNCBAQCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjp+RnVsbHNjcmVlblZp
CiAKIFFUTW92aWVHV29ybGQqIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXI6Om1vdmllKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyByZWludGVycHJldF9jYXN0PFFUTW92
aWVHV29ybGQqPihtX21lZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLnF0TW92aWUpIDogMDsK
KyAgICBpZiAoIW1fbWVkaWFFbGVtZW50KQorICAgICAgICByZXR1cm4gMDsKKworICAgIFBsYXRm
b3JtTWVkaWEgcGxhdGZvcm1NZWRpYSA9IG1fbWVkaWFFbGVtZW50LT5wbGF0Zm9ybU1lZGlhKCk7
CisgICAgaWYgKHBsYXRmb3JtTWVkaWEudHlwZSAhPSBQbGF0Zm9ybU1lZGlhOjpRVE1vdmllR1dv
cmxkVHlwZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gcGxhdGZvcm1NZWRpYS5t
ZWRpYS5xdE1vdmllR1dvcmxkOwogfQogCiB2b2lkIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXI6
OnNldE1lZGlhRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>