<?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>135677</bug_id>
          
          <creation_ts>2014-08-06 16:52:25 -0700</creation_ts>
          <short_desc>Increase width of caption container if a larger font size is selected from user prefs</short_desc>
          <delta_ts>2014-08-07 13:59:04 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roger Fong">roger_fong</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mark.lam</cc>
    
    <cc>philipj</cc>
    
    <cc>roger_fong</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1027346</commentid>
    <comment_count>0</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-08-06 16:52:25 -0700</bug_when>
    <thetext>If we select a larger caption font size in user prefs we should scale the width percentage up so that we don&apos;t end up with really tall caption boxes.
&lt;rdar://problem/17905918&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027347</commentid>
    <comment_count>1</comment_count>
      <attachid>236151</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-08-06 16:55:27 -0700</bug_when>
    <thetext>Created attachment 236151
patch

I don&apos;t do the same for VTT Cues because I believe some sort of calculation is going that doesn&apos;t like it when I forcibly modify the cue box width.
This patch solves the problem for 608 cues however, which we are seeing more often for example, on sites like:
http://bcoveliveios-i.akamaihd.net/hls/live/207145/374678397001/KTVU_NEWSCAST/index.m3u8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027348</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-06 16:57:16 -0700</bug_when>
    <thetext>Attachment 236151 did not pass style-queue:


ERROR: Source/WebCore/html/track/TextTrackCueGeneric.cpp:86:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Source/WebCore/html/track/TextTrackCueGeneric.cpp:89:  One line control clauses should not use braces.  [whitespace/braces] [4]
ERROR: Source/WebCore/html/track/TextTrackCueGeneric.cpp:91:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 3 in 5 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>1027355</commentid>
    <comment_count>3</comment_count>
      <attachid>236155</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-08-06 17:17:29 -0700</bug_when>
    <thetext>Created attachment 236155
patch

style fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027389</commentid>
    <comment_count>4</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-08-06 19:05:08 -0700</bug_when>
    <thetext>new patch incoming with a fix for webvtt cues as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027503</commentid>
    <comment_count>5</comment_count>
      <attachid>236155</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-07 09:32:54 -0700</bug_when>
    <thetext>Comment on attachment 236155
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=236155&amp;action=review

&gt; Source/WebCore/html/track/TextTrackCueGeneric.cpp:45
&gt;  

We should add a comment along the lines of:
    // This default value must be the same as the one specified in mediaControlsApple.css for -webkit-media-controls-closed-captions-container

&gt; Source/WebCore/html/track/TextTrackCueGeneric.cpp:82
&gt; +        float authorFontSize = fmax(defaultFontSize, videoSize.height() * cue-&gt;baseFontSizeRelativeToVideoHeight() / 100);

I think we usually use std::max (or maybe std::max&lt;float&gt;).

&gt; Source/WebCore/html/track/TextTrackCueGeneric.cpp:86
&gt; +        float multiplier = fmax(1.0, m_fontSizeFromCaptionUserPrefs / authorFontSize);

Ditto.

&gt; Source/WebCore/html/track/TextTrackCueGeneric.cpp:88
&gt; +            setInlineStyleProperty(CSSPropertyWidth, size*multiplier, CSSPrimitiveValue::CSS_PERCENTAGE);

Need spaces around the &apos;*&apos;

&gt; Source/WebCore/html/track/TextTrackCueGeneric.cpp:90
&gt; +            setInlineStyleProperty(CSSPropertyHeight, size*multiplier,  CSSPrimitiveValue::CSS_PERCENTAGE);

Ditto

&gt; Source/WebCore/html/track/VTTCue.h:62
&gt; +    virtual void setFontSizeFromCaptionUserPrefs(int fontSize) { m_fontSizeFromCaptionUserPrefs = fontSize; }

Is this meant to be overridden? This might not need to be virtual.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027511</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-07 09:51:46 -0700</bug_when>
    <thetext>The current patch is a huge improvement in my test cases. Nice job!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027528</commentid>
    <comment_count>7</comment_count>
      <attachid>236195</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-08-07 10:42:30 -0700</bug_when>
    <thetext>Created attachment 236195
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027534</commentid>
    <comment_count>8</comment_count>
      <attachid>236195</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-07 10:52:57 -0700</bug_when>
    <thetext>Comment on attachment 236195
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=236195&amp;action=review

&gt; Source/WebCore/ChangeLog:14
&gt; +        

Extra space isn&apos;t needed.

&gt; Source/WebCore/html/track/TextTrackCueGeneric.cpp:80
&gt; +        float authorFontSize = fmax(defaultFontSize, videoSize.height() * cue-&gt;baseFontSizeRelativeToVideoHeight() / 100);

We should be using std::max or maybe std::max&lt;float&gt; here.
defaultFontSize should be VTTCueBox::DEFAULT_FONT_SIZE.

&gt; Source/WebCore/html/track/TextTrackCueGeneric.cpp:84
&gt; +        float multiplier = fmax(1.0, m_fontSizeFromCaptionUserPrefs / authorFontSize);

Ditto.

&gt; Source/WebCore/html/track/TextTrackCueGeneric.cpp:86
&gt; +            setInlineStyleProperty(CSSPropertyWidth, size*multiplier, CSSPrimitiveValue::CSS_PERCENTAGE);

Missing spaces around the &apos;*&apos;.

&gt; Source/WebCore/html/track/TextTrackCueGeneric.cpp:88
&gt; +            setInlineStyleProperty(CSSPropertyHeight, size*multiplier,  CSSPrimitiveValue::CSS_PERCENTAGE);

Ditto.

&gt; Source/WebCore/html/track/VTTCue.cpp:173
&gt; +    float multiplier = fmax(1.0, m_fontSizeFromCaptionUserPrefs / defaultFontSize);

std::max or std::max&lt;float&gt;, please. VTTCueBox::DEFAULT_FONT_SIZE

&gt; Source/WebCore/html/track/VTTCue.cpp:176
&gt; +        setInlineStyleProperty(CSSPropertyWidth, static_cast&lt;double&gt;(m_cue.getCSSSize()*multiplier), CSSPrimitiveValue::CSS_PERCENTAGE);

Need spaces around the &apos;*&apos;.

&gt; Source/WebCore/html/track/VTTCue.cpp:181
&gt; +        setInlineStyleProperty(CSSPropertyHeight, static_cast&lt;double&gt;(m_cue.getCSSSize()*multiplier),  CSSPrimitiveValue::CSS_PERCENTAGE);

Ditto.

&gt; Source/WebCore/html/track/VTTCue.h:72
&gt; +    static const float defaultFontSize;

I think this should be named DEFAULT_FONT_SIZE

&gt; Source/WebCore/html/track/VTTCue.h:74
&gt;  

We should add a comment along the lines of:
           // This default value must be the same as the one specified in mediaControlsApple.css for -webkit-media-controls-closed-captions-container

&gt; Source/WebCore/html/track/VTTCue.h:75
&gt; +const float VTTCueBox::defaultFontSize = 10;

... then this becomes VTTCueBox::DEFAULT_FONT_SIZE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027535</commentid>
    <comment_count>9</comment_count>
      <attachid>236195</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-07 10:53:41 -0700</bug_when>
    <thetext>Comment on attachment 236195
patch

Patch looks great; can you correct the style suggestions and add the comment I asked for? Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027553</commentid>
    <comment_count>10</comment_count>
      <attachid>236206</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-08-07 12:19:52 -0700</bug_when>
    <thetext>Created attachment 236206
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027556</commentid>
    <comment_count>11</comment_count>
      <attachid>236206</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-07 12:23:30 -0700</bug_when>
    <thetext>Comment on attachment 236206
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027562</commentid>
    <comment_count>12</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-08-07 12:36:18 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/172224</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027603</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-08-07 13:59:04 -0700</bug_when>
    <thetext>This change caused some test failures:
media/track/track-cue-rendering-horizontal.html
media/track/track-cue-rendering-rtl.html

The issue is tracked in &lt;https://webkit.org/b/135720&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236151</attachid>
            <date>2014-08-06 16:55:27 -0700</date>
            <delta_ts>2014-08-06 17:17:29 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>7848</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MjE4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE0LTA4LTA2ICBSb2dlciBG
b25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgSW5jcmVhc2Ugd2lkdGggb2Yg
Y2FwdGlvbiBjb250YWluZXIgaWYgYSBsYXJnZXIgZm9udCBzaXplIGlzIHNlbGVjdGVkIGZyb20g
dXNlciBwcmVmcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzNTY3Ny4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICBVcG9uIGNyZWF0aW9uIG9mIGEgVlRUQ3VlQm94IG1ha2Ugc3VyZSB0byBz
dXBwbHkgdGhlIGZvbnQgc2l6ZSBzZXQgYnkgdGhlIHVzZXIgcHJlZnMuCisgICAgICAgICogaHRt
bC90cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja0N1ZUdlbmVyaWNCb3hFbGVtZW50OjphcHBseUNTU1Byb3BlcnRpZXMpOgorICAgICAgICBJ
bmNyZWFzZSB0aGUgd2lkdGggb2YgdGhlIGN1ZSBib3ggYmFzZWQgb24gdXNlciBwcmVmcyBmb250
IHNpemUgc2VsZWN0aW9uLgorICAgICAgICAKKyAgICAgICAgS2VlcCB0cmFjayBvZiB0aGUgZm9u
dCBzaXplIHNldCBpbiB0aGUgdXNlciBwcmVmcyBmb3IgdXNlIHdoZW4gdGhlIGN1ZSBib3hlcyBh
cmUgY3JlYXRlZC4KKyAgICAgICAgKiBodG1sL3RyYWNrL1ZUVEN1ZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6VlRUQ3VlQm94OjpzZXRGb250U2l6ZUZyb21DYXB0aW9uVXNlclByZWZzKToKKyAgICAg
ICAgKiBodG1sL3RyYWNrL1ZUVEN1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWVFRDdWU6Omdl
dERpc3BsYXlUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlZUVEN1ZTo6c2V0Rm9udFNpemUpOgor
ICAgICAgICBJZiB0aGUgZm9udCBzaXplIHNldCBpcyBpbXBvcnRhbnQgdGhlbiB3ZSBkb24ndCB3
YW50IHRvIHVzZSB0aGUgZm9udCBzaXplIHNldCBieSB1c2VyIHByZWZzLCBzZXQgaXQgdG8gMC4K
KwogMjAxNC0wOC0wNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSRUdSRVNTSU9OIChyMTY4MTE5KTogQWxidW0gZmxpcHBpbmcgYW5pbWF0aW9uIGRv
ZXNu4oCZdCB3b3JrCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xFbGVtZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwCShyZXZpc2lvbiAxNzE3MDUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEzMzAsNyArMTMzMCw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVy
RWxlbWUKIAogICAgICAgICBMT0coTWVkaWEsICJNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWlu
ZXJFbGVtZW50Ojp1cGRhdGVEaXNwbGF5KCVwKSAtIGFkZGluZyBhbmQgcG9zaXRpb25pbmcgY3Vl
ICMlenU6IFwiJXNcIiwgc3RhcnQ9JS4yZiwgZW5kPSUuMmYsIGxpbmU9JS4yZiIsIHRoaXMsIGks
IGN1ZS0+dGV4dCgpLnV0ZjgoKS5kYXRhKCksIGN1ZS0+c3RhcnRUaW1lKCksIGN1ZS0+ZW5kVGlt
ZSgpLCBjdWUtPmxpbmUoKSk7CiAKLSAgICAgICAgUmVmUHRyPFZUVEN1ZUJveD4gZGlzcGxheUJv
eCA9IGN1ZS0+Z2V0RGlzcGxheVRyZWUobV92aWRlb0Rpc3BsYXlTaXplLnNpemUoKSk7CisgICAg
ICAgIFJlZlB0cjxWVFRDdWVCb3g+IGRpc3BsYXlCb3ggPSBjdWUtPmdldERpc3BsYXlUcmVlKG1f
dmlkZW9EaXNwbGF5U2l6ZS5zaXplKCksIG1fZm9udFNpemUpOwogI2lmIEVOQUJMRShXRUJWVFRf
UkVHSU9OUykKICAgICAgICAgaWYgKGN1ZS0+dHJhY2soKS0+bW9kZSgpID09IFRleHRUcmFjazo6
ZGlzYWJsZWRLZXl3b3JkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlR2VuZXJpYy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcAkocmV2aXNp
b24gMTcxNzA1KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWVHZW5l
cmljLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlRleHRU
cmFja0N1ZUdlbmVyaWMuaCIKIAogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKKyNpbmNs
dWRlICJDU1NTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxlbWVudC5oIgpA
QCAtMzcsMTAgKzM4LDEzIEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlJlbmRl
ck9iamVjdC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRl
ICJTdHlsZVByb3BlcnRpZXMuaCIKICNpbmNsdWRlICJUZXh0VHJhY2tDdWUuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitzdGF0aWMgY29uc3QgZmxvYXQgZGVmYXVsdEZvbnRTaXplID0gMTAu
MDsKKwogY2xhc3MgVGV4dFRyYWNrQ3VlR2VuZXJpY0JveEVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
VlRUQ3VlQm94IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0VHJhY2tDdWVH
ZW5lcmljQm94RWxlbWVudD4gY3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgVGV4dFRyYWNrQ3Vl
R2VuZXJpYyYgY3VlKQpAQCAtNzUsMTAgKzc5LDIxIEBAIHZvaWQgVGV4dFRyYWNrQ3VlR2VuZXJp
Y0JveEVsZW1lbnQ6OmFwcGwKICAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUxlZnQsIHN0YXRpY19jYXN0PGZsb2F0PihjdWUtPnBvc2l0aW9uKCkpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOwogICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5
KENTU1Byb3BlcnR5VG9wLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3VlLT5saW5lKCkpLCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOwogCi0gICAgICAgIGlmIChjdWUtPmdldFdyaXRp
bmdEaXJlY3Rpb24oKSA9PSBWVFRDdWU6Okhvcml6b250YWwpCi0gICAgICAgICAgICBzZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5V2lkdGgsIHNpemUsIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUEVSQ0VOVEFHRSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNldElubGluZVN0
eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlIZWlnaHQsIHNpemUsICBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1BFUkNFTlRBR0UpOworICAgICAgICBmbG9hdCBhdXRob3JGb250U2l6ZSA9IGZtYXgoZGVm
YXVsdEZvbnRTaXplLCB2aWRlb1NpemUuaGVpZ2h0KCkgKiBjdWUtPmJhc2VGb250U2l6ZVJlbGF0
aXZlVG9WaWRlb0hlaWdodCgpIC8gMTAwKTsKKyAgICAgICAgaWYgKGN1ZS0+Zm9udFNpemVNdWx0
aXBsaWVyKCkpCisgICAgICAgICAgICBhdXRob3JGb250U2l6ZSAqPSBjdWUtPmZvbnRTaXplTXVs
dGlwbGllcigpIC8gMTAwOworCisgICAgICAgIGZsb2F0IG11bHRpcGxpZXIgPSBmbWF4KDEuMCwg
bV9mb250U2l6ZUZyb21DYXB0aW9uVXNlclByZWZzL2F1dGhvckZvbnRTaXplKTsKKyAgICAgICAg
aWYgKGN1ZS0+Z2V0V3JpdGluZ0RpcmVjdGlvbigpID09IFZUVEN1ZTo6SG9yaXpvbnRhbCkgewor
ICAgICAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdpZHRoLCBzaXpl
Km11bHRpcGxpZXIsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5
SGVpZ2h0LCBzaXplKm11bHRpcGxpZXIsICBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRB
R0UpOworICAgICAgICB9CisKKyAgICAgICAgZG91YmxlIG1heFdpZHRoID0gdmlkZW9TaXplLndp
ZHRoKCkgKiAoKDEwMC4wIC0gY3VlLT5wb3NpdGlvbigpKSAvIDEwMC4wKTsKKyAgICAgICAgZG91
YmxlIG1heEhlaWdodCA9IHZpZGVvU2l6ZS5oZWlnaHQoKSAqICgoMTAwLjAgLSBjdWUtPmxpbmUo
KSkgLyAxMDAuMCk7CisgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlN
YXhXaWR0aCwgbWF4V2lkdGgsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7Cisg
ICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlNYXhIZWlnaHQsIG1heEhl
aWdodCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKTsKICAgICB9CiAKICAgICBp
ZiAoY3VlLT5nZXRXcml0aW5nRGlyZWN0aW9uKCkgPT0gVlRUQ3VlOjpIb3Jpem9udGFsKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRDdWUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3VlLmNwcAkocmV2aXNpb24gMTcxNzA1KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRDdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
NzcsNyArNzc3LDcgQEAgdm9pZCBWVFRDdWU6OnVwZGF0ZURpc3BsYXlUcmVlKGRvdWJsZSBtbwog
ICAgIG1fY3VlSGlnaGxpZ2h0Qm94LT5hcHBlbmRDaGlsZChyZWZlcmVuY2VUcmVlKTsKIH0KIAot
VlRUQ3VlQm94KiBWVFRDdWU6OmdldERpc3BsYXlUcmVlKGNvbnN0IEludFNpemUmIHZpZGVvU2l6
ZSkKK1ZUVEN1ZUJveCogVlRUQ3VlOjpnZXREaXNwbGF5VHJlZShjb25zdCBJbnRTaXplJiB2aWRl
b1NpemUsIGludCBmb250U2l6ZSkKIHsKICAgICBSZWZQdHI8VlRUQ3VlQm94PiBkaXNwbGF5VHJl
ZSA9IGRpc3BsYXlUcmVlSW50ZXJuYWwoKTsKICAgICBpZiAoIW1fZGlzcGxheVRyZWVTaG91bGRD
aGFuZ2UgfHwgIXRyYWNrKCktPmlzUmVuZGVyZWQoKSkKQEAgLTgwOCwxMyArODA4LDcgQEAgVlRU
Q3VlQm94KiBWVFRDdWU6OmdldERpc3BsYXlUcmVlKGNvbnN0IAogICAgIC8vIFdlYlZUVCBSdWJ5
IFRleHQgT2JqZWN0cyBtdXN0IGJlIHdyYXBwZWQgaW4gYW5vbnltb3VzIGJveGVzIHdob3NlCiAg
ICAgLy8gJ2Rpc3BsYXknIHByb3BlcnR5IGhhcyB0aGUgdmFsdWUgJ3J1YnktYmFzZScuCiAKLSAg
ICAvLyBGSVhNRShCVUcgNzk5MTYpOiBUZXh0IHJ1bnMgbXVzdCBiZSB3cmFwcGVkIGFjY29yZGlu
ZyB0byB0aGUgQ1NTCi0gICAgLy8gbGluZS13cmFwcGluZyBydWxlcywgZXhjZXB0IHRoYXQgYWRk
aXRpb25hbGx5LCByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBvZgotICAgIC8vIHRoZSAnd2hpdGUt
c3BhY2UnIHByb3BlcnR5LCBsaW5lcyBtdXN0IGJlIHdyYXBwZWQgYXQgdGhlIGVkZ2Ugb2YgdGhl
aXIKLSAgICAvLyBjb250YWluaW5nIGJsb2NrcywgZXZlbiBpZiBkb2luZyBzbyByZXF1aXJlcyBz
cGxpdHRpbmcgYSB3b3JkIHdoZXJlIHRoZXJlCi0gICAgLy8gaXMgbm8gbGluZSBicmVha2luZyBv
cHBvcnR1bml0eS4gKFRodXMsIG5vcm1hbGx5IHRleHQgd3JhcHMgYXMgbmVlZGVkLAotICAgIC8v
IGJ1dCBpZiB0aGVyZSBpcyBhIHBhcnRpY3VsYXJseSBsb25nIHdvcmQsIGl0IGRvZXMgbm90IG92
ZXJmbG93IGFzIGl0Ci0gICAgLy8gbm9ybWFsbHkgd291bGQgaW4gQ1NTLCBpdCBpcyBpbnN0ZWFk
IGZvcmNpYmx5IHdyYXBwZWQgYXQgdGhlIGJveCdzIGVkZ2UuKQorICAgIGRpc3BsYXlUcmVlLT5z
ZXRGb250U2l6ZUZyb21DYXB0aW9uVXNlclByZWZzKGZvbnRTaXplKTsKICAgICBkaXNwbGF5VHJl
ZS0+YXBwbHlDU1NQcm9wZXJ0aWVzKHZpZGVvU2l6ZSk7CiAKICAgICBtX2Rpc3BsYXlUcmVlU2hv
dWxkQ2hhbmdlID0gZmFsc2U7CkBAIC0xMTQzLDYgKzExMzcsOSBAQCB2b2lkIFZUVEN1ZTo6c2V0
Rm9udFNpemUoaW50IGZvbnRTaXplLCBjCiAgICAgCiAgICAgTE9HKE1lZGlhLCAiVGV4dFRyYWNr
Q3VlOjpzZXRGb250U2l6ZSAtIHNldHRpbmcgY3VlIGZvbnQgc2l6ZSB0byAlaSIsIGZvbnRTaXpl
KTsKIAorICAgIGlmIChpbXBvcnRhbnQpCisgICAgICAgIGRpc3BsYXlUcmVlSW50ZXJuYWwoKS0+
c2V0Rm9udFNpemVGcm9tQ2FwdGlvblVzZXJQcmVmcygwKTsKKyAgICAKICAgICBkaXNwbGF5VHJl
ZUludGVybmFsKCktPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlGb250U2l6ZSwg
Zm9udFNpemUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUFgsIGltcG9ydGFudCk7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3VlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRDdWUuaAkocmV2aXNpb24gMTcxNzA1KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRDdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNiAr
NTksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFwcGx5Q1NTUHJvcGVydGllcyhjb25z
dCBJbnRTaXplJiB2aWRlb1NpemUpOwogCiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYg
dnR0Q3VlQm94U2hhZG93UHNldWRvSWQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9udFNpemVG
cm9tQ2FwdGlvblVzZXJQcmVmcyhpbnQgZm9udFNpemUpIHsgbV9mb250U2l6ZUZyb21DYXB0aW9u
VXNlclByZWZzID0gZm9udFNpemU7IH0KIAogcHJvdGVjdGVkOgogICAgIFZUVEN1ZUJveChEb2N1
bWVudCYsIFZUVEN1ZSYpOwpAQCAtNjYsNiArNjcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVh
bCBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFBhc3NSZWY8
UmVuZGVyU3R5bGU+KSBvdmVycmlkZTsKIAogICAgIFZUVEN1ZSYgbV9jdWU7CisgICAgaW50IG1f
Zm9udFNpemVGcm9tQ2FwdGlvblVzZXJQcmVmczsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KQEAgLTExNSw3ICsxMTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IHNldElzQWN0aXZlKGJvb2wpOwogCiAgICAgYm9vbCBoYXNEaXNwbGF5VHJlZSgpIGNvbnN0IHsg
cmV0dXJuIG1fZGlzcGxheVRyZWU7IH0KLSAgICBWVFRDdWVCb3gqIGdldERpc3BsYXlUcmVlKGNv
bnN0IEludFNpemUmIHZpZGVvU2l6ZSk7CisgICAgVlRUQ3VlQm94KiBnZXREaXNwbGF5VHJlZShj
b25zdCBJbnRTaXplJiB2aWRlb1NpemUsIGludCBmb250U2l6ZSk7CiAgICAgSFRNTFNwYW5FbGVt
ZW50KiBlbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9jdWVIaWdobGlnaHRCb3guZ2V0KCk7IH0K
IAogICAgIHZvaWQgdXBkYXRlRGlzcGxheVRyZWUoZG91YmxlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236155</attachid>
            <date>2014-08-06 17:17:29 -0700</date>
            <delta_ts>2014-08-07 10:42:30 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>7756</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MjE4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE0LTA4LTA2ICBSb2dlciBG
b25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgSW5jcmVhc2Ugd2lkdGggb2Yg
Y2FwdGlvbiBjb250YWluZXIgaWYgYSBsYXJnZXIgZm9udCBzaXplIGlzIHNlbGVjdGVkIGZyb20g
dXNlciBwcmVmcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzNTY3Ny4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICBVcG9uIGNyZWF0aW9uIG9mIGEgVlRUQ3VlQm94IG1ha2Ugc3VyZSB0byBz
dXBwbHkgdGhlIGZvbnQgc2l6ZSBzZXQgYnkgdGhlIHVzZXIgcHJlZnMuCisgICAgICAgICogaHRt
bC90cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja0N1ZUdlbmVyaWNCb3hFbGVtZW50OjphcHBseUNTU1Byb3BlcnRpZXMpOgorICAgICAgICBJ
bmNyZWFzZSB0aGUgd2lkdGggb2YgdGhlIGN1ZSBib3ggYmFzZWQgb24gdXNlciBwcmVmcyBmb250
IHNpemUgc2VsZWN0aW9uLgorICAgICAgICAKKyAgICAgICAgS2VlcCB0cmFjayBvZiB0aGUgZm9u
dCBzaXplIHNldCBpbiB0aGUgdXNlciBwcmVmcyBmb3IgdXNlIHdoZW4gdGhlIGN1ZSBib3hlcyBh
cmUgY3JlYXRlZC4KKyAgICAgICAgKiBodG1sL3RyYWNrL1ZUVEN1ZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6VlRUQ3VlQm94OjpzZXRGb250U2l6ZUZyb21DYXB0aW9uVXNlclByZWZzKToKKyAgICAg
ICAgKiBodG1sL3RyYWNrL1ZUVEN1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWVFRDdWU6Omdl
dERpc3BsYXlUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlZUVEN1ZTo6c2V0Rm9udFNpemUpOgor
ICAgICAgICBJZiB0aGUgZm9udCBzaXplIHNldCBpcyBpbXBvcnRhbnQgdGhlbiB3ZSBkb24ndCB3
YW50IHRvIHVzZSB0aGUgZm9udCBzaXplIHNldCBieSB1c2VyIHByZWZzLCBzZXQgaXQgdG8gMC4K
KwogMjAxNC0wOC0wNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSRUdSRVNTSU9OIChyMTY4MTE5KTogQWxidW0gZmxpcHBpbmcgYW5pbWF0aW9uIGRv
ZXNu4oCZdCB3b3JrCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xFbGVtZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwCShyZXZpc2lvbiAxNzE3MDUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEzMzAsNyArMTMzMCw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVy
RWxlbWUKIAogICAgICAgICBMT0coTWVkaWEsICJNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWlu
ZXJFbGVtZW50Ojp1cGRhdGVEaXNwbGF5KCVwKSAtIGFkZGluZyBhbmQgcG9zaXRpb25pbmcgY3Vl
ICMlenU6IFwiJXNcIiwgc3RhcnQ9JS4yZiwgZW5kPSUuMmYsIGxpbmU9JS4yZiIsIHRoaXMsIGks
IGN1ZS0+dGV4dCgpLnV0ZjgoKS5kYXRhKCksIGN1ZS0+c3RhcnRUaW1lKCksIGN1ZS0+ZW5kVGlt
ZSgpLCBjdWUtPmxpbmUoKSk7CiAKLSAgICAgICAgUmVmUHRyPFZUVEN1ZUJveD4gZGlzcGxheUJv
eCA9IGN1ZS0+Z2V0RGlzcGxheVRyZWUobV92aWRlb0Rpc3BsYXlTaXplLnNpemUoKSk7CisgICAg
ICAgIFJlZlB0cjxWVFRDdWVCb3g+IGRpc3BsYXlCb3ggPSBjdWUtPmdldERpc3BsYXlUcmVlKG1f
dmlkZW9EaXNwbGF5U2l6ZS5zaXplKCksIG1fZm9udFNpemUpOwogI2lmIEVOQUJMRShXRUJWVFRf
UkVHSU9OUykKICAgICAgICAgaWYgKGN1ZS0+dHJhY2soKS0+bW9kZSgpID09IFRleHRUcmFjazo6
ZGlzYWJsZWRLZXl3b3JkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlR2VuZXJpYy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcAkocmV2aXNp
b24gMTcxNzA1KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWVHZW5l
cmljLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlRleHRU
cmFja0N1ZUdlbmVyaWMuaCIKIAogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKKyNpbmNs
dWRlICJDU1NTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxlbWVudC5oIgpA
QCAtMzcsMTAgKzM4LDEzIEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlJlbmRl
ck9iamVjdC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRl
ICJTdHlsZVByb3BlcnRpZXMuaCIKICNpbmNsdWRlICJUZXh0VHJhY2tDdWUuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitzdGF0aWMgY29uc3QgZmxvYXQgZGVmYXVsdEZvbnRTaXplID0gMTAu
MDsKKwogY2xhc3MgVGV4dFRyYWNrQ3VlR2VuZXJpY0JveEVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
VlRUQ3VlQm94IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0VHJhY2tDdWVH
ZW5lcmljQm94RWxlbWVudD4gY3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgVGV4dFRyYWNrQ3Vl
R2VuZXJpYyYgY3VlKQpAQCAtNzUsMTAgKzc5LDIwIEBAIHZvaWQgVGV4dFRyYWNrQ3VlR2VuZXJp
Y0JveEVsZW1lbnQ6OmFwcGwKICAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUxlZnQsIHN0YXRpY19jYXN0PGZsb2F0PihjdWUtPnBvc2l0aW9uKCkpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOwogICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5
KENTU1Byb3BlcnR5VG9wLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3VlLT5saW5lKCkpLCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOwogCisgICAgICAgIGZsb2F0IGF1dGhvckZvbnRT
aXplID0gZm1heChkZWZhdWx0Rm9udFNpemUsIHZpZGVvU2l6ZS5oZWlnaHQoKSAqIGN1ZS0+YmFz
ZUZvbnRTaXplUmVsYXRpdmVUb1ZpZGVvSGVpZ2h0KCkgLyAxMDApOworICAgICAgICBpZiAoY3Vl
LT5mb250U2l6ZU11bHRpcGxpZXIoKSkKKyAgICAgICAgICAgIGF1dGhvckZvbnRTaXplICo9IGN1
ZS0+Zm9udFNpemVNdWx0aXBsaWVyKCkgLyAxMDA7CisKKyAgICAgICAgZmxvYXQgbXVsdGlwbGll
ciA9IGZtYXgoMS4wLCBtX2ZvbnRTaXplRnJvbUNhcHRpb25Vc2VyUHJlZnMgLyBhdXRob3JGb250
U2l6ZSk7CiAgICAgICAgIGlmIChjdWUtPmdldFdyaXRpbmdEaXJlY3Rpb24oKSA9PSBWVFRDdWU6
Okhvcml6b250YWwpCi0gICAgICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3Bl
cnR5V2lkdGgsIHNpemUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CisgICAg
ICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5V2lkdGgsIHNpemUqbXVs
dGlwbGllciwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKTsKICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUhlaWdodCwg
c2l6ZSwgIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CisgICAgICAgICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5SGVpZ2h0LCBzaXplKm11bHRpcGxpZXIs
ICBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOworCisgICAgICAgIGRvdWJsZSBt
YXhXaWR0aCA9IHZpZGVvU2l6ZS53aWR0aCgpICogKCgxMDAuMCAtIGN1ZS0+cG9zaXRpb24oKSkg
LyAxMDAuMCk7CisgICAgICAgIGRvdWJsZSBtYXhIZWlnaHQgPSB2aWRlb1NpemUuaGVpZ2h0KCkg
KiAoKDEwMC4wIC0gY3VlLT5saW5lKCkpIC8gMTAwLjApOworICAgICAgICBzZXRJbmxpbmVTdHls
ZVByb3BlcnR5KENTU1Byb3BlcnR5TWF4V2lkdGgsIG1heFdpZHRoLCBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1BFUkNFTlRBR0UpOworICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1By
b3BlcnR5TWF4SGVpZ2h0LCBtYXhIZWlnaHQsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VO
VEFHRSk7CiAgICAgfQogCiAgICAgaWYgKGN1ZS0+Z2V0V3JpdGluZ0RpcmVjdGlvbigpID09IFZU
VEN1ZTo6SG9yaXpvbnRhbCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3Vl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5jcHAJ
KHJldmlzaW9uIDE3MTcwNSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3VlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzc3LDcgKzc3Nyw3IEBAIHZvaWQgVlRUQ3VlOjp1cGRhdGVE
aXNwbGF5VHJlZShkb3VibGUgbW8KICAgICBtX2N1ZUhpZ2hsaWdodEJveC0+YXBwZW5kQ2hpbGQo
cmVmZXJlbmNlVHJlZSk7CiB9CiAKLVZUVEN1ZUJveCogVlRUQ3VlOjpnZXREaXNwbGF5VHJlZShj
b25zdCBJbnRTaXplJiB2aWRlb1NpemUpCitWVFRDdWVCb3gqIFZUVEN1ZTo6Z2V0RGlzcGxheVRy
ZWUoY29uc3QgSW50U2l6ZSYgdmlkZW9TaXplLCBpbnQgZm9udFNpemUpCiB7CiAgICAgUmVmUHRy
PFZUVEN1ZUJveD4gZGlzcGxheVRyZWUgPSBkaXNwbGF5VHJlZUludGVybmFsKCk7CiAgICAgaWYg
KCFtX2Rpc3BsYXlUcmVlU2hvdWxkQ2hhbmdlIHx8ICF0cmFjaygpLT5pc1JlbmRlcmVkKCkpCkBA
IC04MDgsMTMgKzgwOCw3IEBAIFZUVEN1ZUJveCogVlRUQ3VlOjpnZXREaXNwbGF5VHJlZShjb25z
dCAKICAgICAvLyBXZWJWVFQgUnVieSBUZXh0IE9iamVjdHMgbXVzdCBiZSB3cmFwcGVkIGluIGFu
b255bW91cyBib3hlcyB3aG9zZQogICAgIC8vICdkaXNwbGF5JyBwcm9wZXJ0eSBoYXMgdGhlIHZh
bHVlICdydWJ5LWJhc2UnLgogCi0gICAgLy8gRklYTUUoQlVHIDc5OTE2KTogVGV4dCBydW5zIG11
c3QgYmUgd3JhcHBlZCBhY2NvcmRpbmcgdG8gdGhlIENTUwotICAgIC8vIGxpbmUtd3JhcHBpbmcg
cnVsZXMsIGV4Y2VwdCB0aGF0IGFkZGl0aW9uYWxseSwgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUg
b2YKLSAgICAvLyB0aGUgJ3doaXRlLXNwYWNlJyBwcm9wZXJ0eSwgbGluZXMgbXVzdCBiZSB3cmFw
cGVkIGF0IHRoZSBlZGdlIG9mIHRoZWlyCi0gICAgLy8gY29udGFpbmluZyBibG9ja3MsIGV2ZW4g
aWYgZG9pbmcgc28gcmVxdWlyZXMgc3BsaXR0aW5nIGEgd29yZCB3aGVyZSB0aGVyZQotICAgIC8v
IGlzIG5vIGxpbmUgYnJlYWtpbmcgb3Bwb3J0dW5pdHkuIChUaHVzLCBub3JtYWxseSB0ZXh0IHdy
YXBzIGFzIG5lZWRlZCwKLSAgICAvLyBidXQgaWYgdGhlcmUgaXMgYSBwYXJ0aWN1bGFybHkgbG9u
ZyB3b3JkLCBpdCBkb2VzIG5vdCBvdmVyZmxvdyBhcyBpdAotICAgIC8vIG5vcm1hbGx5IHdvdWxk
IGluIENTUywgaXQgaXMgaW5zdGVhZCBmb3JjaWJseSB3cmFwcGVkIGF0IHRoZSBib3gncyBlZGdl
LikKKyAgICBkaXNwbGF5VHJlZS0+c2V0Rm9udFNpemVGcm9tQ2FwdGlvblVzZXJQcmVmcyhmb250
U2l6ZSk7CiAgICAgZGlzcGxheVRyZWUtPmFwcGx5Q1NTUHJvcGVydGllcyh2aWRlb1NpemUpOwog
CiAgICAgbV9kaXNwbGF5VHJlZVNob3VsZENoYW5nZSA9IGZhbHNlOwpAQCAtMTE0Myw2ICsxMTM3
LDkgQEAgdm9pZCBWVFRDdWU6OnNldEZvbnRTaXplKGludCBmb250U2l6ZSwgYwogICAgIAogICAg
IExPRyhNZWRpYSwgIlRleHRUcmFja0N1ZTo6c2V0Rm9udFNpemUgLSBzZXR0aW5nIGN1ZSBmb250
IHNpemUgdG8gJWkiLCBmb250U2l6ZSk7CiAKKyAgICBpZiAoaW1wb3J0YW50KQorICAgICAgICBk
aXNwbGF5VHJlZUludGVybmFsKCktPnNldEZvbnRTaXplRnJvbUNhcHRpb25Vc2VyUHJlZnMoMCk7
CisgICAgCiAgICAgZGlzcGxheVRyZWVJbnRlcm5hbCgpLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5
KENTU1Byb3BlcnR5Rm9udFNpemUsIGZvbnRTaXplLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BY
LCBpbXBvcnRhbnQpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3VlLmgJKHJl
dmlzaW9uIDE3MTcwNSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3VlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBh
cHBseUNTU1Byb3BlcnRpZXMoY29uc3QgSW50U2l6ZSYgdmlkZW9TaXplKTsKIAogICAgIHN0YXRp
YyBjb25zdCBBdG9taWNTdHJpbmcmIHZ0dEN1ZUJveFNoYWRvd1BzZXVkb0lkKCk7CisgICAgdmly
dHVhbCB2b2lkIHNldEZvbnRTaXplRnJvbUNhcHRpb25Vc2VyUHJlZnMoaW50IGZvbnRTaXplKSB7
IG1fZm9udFNpemVGcm9tQ2FwdGlvblVzZXJQcmVmcyA9IGZvbnRTaXplOyB9CiAKIHByb3RlY3Rl
ZDoKICAgICBWVFRDdWVCb3goRG9jdW1lbnQmLCBWVFRDdWUmKTsKQEAgLTY2LDYgKzY3LDcgQEAg
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVs
ZW1lbnRSZW5kZXJlcihQYXNzUmVmPFJlbmRlclN0eWxlPikgb3ZlcnJpZGU7CiAKICAgICBWVFRD
dWUmIG1fY3VlOworICAgIGludCBtX2ZvbnRTaXplRnJvbUNhcHRpb25Vc2VyUHJlZnM7CiB9Owog
CiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xMTUsNyArMTE3LDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRJc0FjdGl2ZShib29sKTsKIAogICAgIGJvb2wgaGFz
RGlzcGxheVRyZWUoKSBjb25zdCB7IHJldHVybiBtX2Rpc3BsYXlUcmVlOyB9Ci0gICAgVlRUQ3Vl
Qm94KiBnZXREaXNwbGF5VHJlZShjb25zdCBJbnRTaXplJiB2aWRlb1NpemUpOworICAgIFZUVEN1
ZUJveCogZ2V0RGlzcGxheVRyZWUoY29uc3QgSW50U2l6ZSYgdmlkZW9TaXplLCBpbnQgZm9udFNp
emUpOwogICAgIEhUTUxTcGFuRWxlbWVudCogZWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY3Vl
SGlnaGxpZ2h0Qm94LmdldCgpOyB9CiAKICAgICB2b2lkIHVwZGF0ZURpc3BsYXlUcmVlKGRvdWJs
ZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236195</attachid>
            <date>2014-08-07 10:42:30 -0700</date>
            <delta_ts>2014-08-07 12:19:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>10116</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MjE5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA4LTA2ICBSb2dlciBG
b25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgSW5jcmVhc2Ugd2lkdGggb2Yg
Y2FwdGlvbiBjb250YWluZXIgaWYgYSBsYXJnZXIgZm9udCBzaXplIGlzIHNlbGVjdGVkIGZyb20g
dXNlciBwcmVmcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzNTY3Ny4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICBVcG9uIGNyZWF0aW9uIG9mIGEgVlRUQ3VlQm94IG1ha2Ugc3VyZSB0byBz
dXBwbHkgdGhlIGZvbnQgc2l6ZSBzZXQgYnkgdGhlIHVzZXIgcHJlZnMuCisgICAgICAgICogaHRt
bC90cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja0N1ZUdlbmVyaWNCb3hFbGVtZW50OjphcHBseUNTU1Byb3BlcnRpZXMpOgorICAgICAgICBJ
bmNyZWFzZSB0aGUgd2lkdGggb2YgdGhlIGN1ZSBib3ggYmFzZWQgb24gdXNlciBwcmVmcyBmb250
IHNpemUgc2VsZWN0aW9uLgorICAgICAgICAKKyAgICAgICAgKiBodG1sL3RyYWNrL1ZUVEN1ZS5o
OgorICAgICAgICBLZWVwIHRyYWNrIG9mIHRoZSBmb250IHNpemUgc2V0IGluIHRoZSB1c2VyIHBy
ZWZzIGZvciB1c2Ugd2hlbiB0aGUgY3VlIGJveGVzIGFyZSBjcmVhdGVkLgorICAgICAgICAoV2Vi
Q29yZTo6VlRUQ3VlQm94OjpzZXRGb250U2l6ZUZyb21DYXB0aW9uVXNlclByZWZzKToKKyAgICAg
ICAgKiBodG1sL3RyYWNrL1ZUVEN1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWVFRDdWVCb3g6
OmFwcGx5Q1NTUHJvcGVydGllcyk6CisgICAgICAgIEluY3JlYXNlIHRoZSB3aWR0aCBvZiB0aGUg
Y3VlIGJveCBiYXNlZCBvbiB1c2VyIHByZWZzIGZvbnQgc2l6ZSBzZWxlY3Rpb24uCisgICAgICAg
IChXZWJDb3JlOjpWVFRDdWU6OmdldERpc3BsYXlUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlZU
VEN1ZTo6c2V0Rm9udFNpemUpOgorICAgICAgICBJZiB0aGUgZm9udCBzaXplIHNldCBpcyBpbXBv
cnRhbnQgdGhlbiB3ZSBkb24ndCB3YW50IHRvIHVzZSB0aGUgZm9udCBzaXplIHNldCBieSB1c2Vy
IHByZWZzLCBzZXQgaXQgdG8gMC4KKwogMjAxNC0wOC0wNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxt
bWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIE1ha2UgZG9jdW1lbnQgbWFya2Vy
IGFzc2V0cyBub3Qgc3BlY2lmaWMgdG8gcGFydGljdWxhciBzY2FsZSBmYWN0b3JzCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMu
Y3BwCShyZXZpc2lvbiAxNzE3MDUpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xFbGVtZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMzAsNyArMTMzMCw3IEBA
IHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWUKIAogICAgICAgICBMT0co
TWVkaWEsICJNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50Ojp1cGRhdGVEaXNw
bGF5KCVwKSAtIGFkZGluZyBhbmQgcG9zaXRpb25pbmcgY3VlICMlenU6IFwiJXNcIiwgc3RhcnQ9
JS4yZiwgZW5kPSUuMmYsIGxpbmU9JS4yZiIsIHRoaXMsIGksIGN1ZS0+dGV4dCgpLnV0ZjgoKS5k
YXRhKCksIGN1ZS0+c3RhcnRUaW1lKCksIGN1ZS0+ZW5kVGltZSgpLCBjdWUtPmxpbmUoKSk7CiAK
LSAgICAgICAgUmVmUHRyPFZUVEN1ZUJveD4gZGlzcGxheUJveCA9IGN1ZS0+Z2V0RGlzcGxheVRy
ZWUobV92aWRlb0Rpc3BsYXlTaXplLnNpemUoKSk7CisgICAgICAgIFJlZlB0cjxWVFRDdWVCb3g+
IGRpc3BsYXlCb3ggPSBjdWUtPmdldERpc3BsYXlUcmVlKG1fdmlkZW9EaXNwbGF5U2l6ZS5zaXpl
KCksIG1fZm9udFNpemUpOwogI2lmIEVOQUJMRShXRUJWVFRfUkVHSU9OUykKICAgICAgICAgaWYg
KGN1ZS0+dHJhY2soKS0+bW9kZSgpID09IFRleHRUcmFjazo6ZGlzYWJsZWRLZXl3b3JkKCkpCiAg
ICAgICAgICAgICBjb250aW51ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4
dFRyYWNrQ3VlR2VuZXJpYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcAkocmV2aXNpb24gMTcxNzA1KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlRleHRUcmFja0N1ZUdlbmVyaWMuaCIKIAog
I2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKKyNpbmNsdWRlICJDU1NTdHlsZURlY2xhcmF0
aW9uLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxlbWVudC5oIgpAQCAtMzcsNiArMzgsNyBAQAogI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCiAj
aW5jbHVkZSAiVGV4dFRyYWNrQ3VlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTc1LDEw
ICs3NywyMSBAQCB2b2lkIFRleHRUcmFja0N1ZUdlbmVyaWNCb3hFbGVtZW50OjphcHBsCiAgICAg
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlMZWZ0LCBzdGF0aWNfY2FzdDxm
bG9hdD4oY3VlLT5wb3NpdGlvbigpKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdF
KTsKICAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRvcCwgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KGN1ZS0+bGluZSgpKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5U
QUdFKTsKIAorICAgICAgICBmbG9hdCBhdXRob3JGb250U2l6ZSA9IGZtYXgoZGVmYXVsdEZvbnRT
aXplLCB2aWRlb1NpemUuaGVpZ2h0KCkgKiBjdWUtPmJhc2VGb250U2l6ZVJlbGF0aXZlVG9WaWRl
b0hlaWdodCgpIC8gMTAwKTsKKyAgICAgICAgaWYgKGN1ZS0+Zm9udFNpemVNdWx0aXBsaWVyKCkp
CisgICAgICAgICAgICBhdXRob3JGb250U2l6ZSAqPSBjdWUtPmZvbnRTaXplTXVsdGlwbGllcigp
IC8gMTAwOworCisgICAgICAgIGZsb2F0IG11bHRpcGxpZXIgPSBmbWF4KDEuMCwgbV9mb250U2l6
ZUZyb21DYXB0aW9uVXNlclByZWZzIC8gYXV0aG9yRm9udFNpemUpOwogICAgICAgICBpZiAoY3Vl
LT5nZXRXcml0aW5nRGlyZWN0aW9uKCkgPT0gVlRUQ3VlOjpIb3Jpem9udGFsKQotICAgICAgICAg
ICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdpZHRoLCBzaXplLCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOworICAgICAgICAgICAgc2V0SW5saW5lU3R5bGVQ
cm9wZXJ0eShDU1NQcm9wZXJ0eVdpZHRoLCBzaXplKm11bHRpcGxpZXIsIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUEVSQ0VOVEFHRSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNldElubGlu
ZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlIZWlnaHQsIHNpemUsICBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1BFUkNFTlRBR0UpOworICAgICAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShD
U1NQcm9wZXJ0eUhlaWdodCwgc2l6ZSptdWx0aXBsaWVyLCAgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19QRVJDRU5UQUdFKTsKKworICAgICAgICBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBwb3NpdGlv
biA9IG1fY3VlLmdldENTU1Bvc2l0aW9uKCk7CisgICAgICAgIGRvdWJsZSBtYXhXaWR0aCA9IHZp
ZGVvU2l6ZS53aWR0aCgpICogKDEwMC4wIC0gcG9zaXRpb24uZmlyc3QpIC8gMTAwLjA7CisgICAg
ICAgIGRvdWJsZSBtYXhIZWlnaHQgPSB2aWRlb1NpemUuaGVpZ2h0KCkgKiAoMTAwLjAgLSBwb3Np
dGlvbi5zZWNvbmQpIC8gMTAwLjA7CisgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlNYXhXaWR0aCwgbWF4V2lkdGgsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUFgpOwor
ICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5TWF4SGVpZ2h0LCBtYXhI
ZWlnaHQsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUFgpOwogICAgIH0KIAogICAgIGlmIChjdWUt
PmdldFdyaXRpbmdEaXJlY3Rpb24oKSA9PSBWVFRDdWU6Okhvcml6b250YWwpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRDdWUuY3BwCShyZXZpc2lvbiAxNzE3MDUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOCw3ICsx
MzgsNyBAQCBWVFRDdWUqIFZUVEN1ZUJveDo6Z2V0Q3VlKCkgY29uc3QKICAgICByZXR1cm4gJm1f
Y3VlOwogfQogCi12b2lkIFZUVEN1ZUJveDo6YXBwbHlDU1NQcm9wZXJ0aWVzKGNvbnN0IEludFNp
emUmKQordm9pZCBWVFRDdWVCb3g6OmFwcGx5Q1NTUHJvcGVydGllcyhjb25zdCBJbnRTaXplJiB2
aWRlb1NpemUpCiB7CiAgICAgLy8gRklYTUU6IEFwcGx5IGFsbCB0aGUgaW5pdGlhbCBDU1MgcG9z
aXRpb25pbmcgcHJvcGVydGllcy4gaHR0cDovL3drYi51Zy83OTkxNgogI2lmIEVOQUJMRShXRUJW
VFRfUkVHSU9OUykKQEAgLTE3MCwxNCArMTcwLDE1IEBAIHZvaWQgVlRUQ3VlQm94OjphcHBseUNT
U1Byb3BlcnRpZXMoY29uc3QKICAgICAvLyB0aGUgJ2xlZnQnIHByb3BlcnR5IG11c3QgYmUgc2V0
IHRvIGxlZnQKICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5TGVmdCwgc3Rh
dGljX2Nhc3Q8ZG91YmxlPihwb3NpdGlvbi5maXJzdCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
UEVSQ0VOVEFHRSk7CiAKKyAgICBmbG9hdCBtdWx0aXBsaWVyID0gZm1heCgxLjAsIG1fZm9udFNp
emVGcm9tQ2FwdGlvblVzZXJQcmVmcyAvIGRlZmF1bHRGb250U2l6ZSk7CiAgICAgLy8gdGhlICd3
aWR0aCcgcHJvcGVydHkgbXVzdCBiZSBzZXQgdG8gd2lkdGgsIGFuZCB0aGUgJ2hlaWdodCcgcHJv
cGVydHkgIG11c3QgYmUgc2V0IHRvIGhlaWdodAogICAgIGlmIChtX2N1ZS52ZXJ0aWNhbCgpID09
IGhvcml6b250YWxLZXl3b3JkKCkpIHsKLSAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShD
U1NQcm9wZXJ0eVdpZHRoLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fY3VlLmdldENTU1NpemUoKSks
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CisgICAgICAgIHNldElubGluZVN0
eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlXaWR0aCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtX2N1ZS5n
ZXRDU1NTaXplKCkqbXVsdGlwbGllciksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFH
RSk7CiAgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlIZWlnaHQsIENT
U1ZhbHVlQXV0byk7CiAgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlN
aW5XaWR0aCwgIi13ZWJraXQtbWluLWNvbnRlbnQiKTsKICAgICB9IGVsc2UgewogICAgICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5V2lkdGgsIENTU1ZhbHVlQXV0byk7Ci0g
ICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlIZWlnaHQsIHN0YXRpY19j
YXN0PGRvdWJsZT4obV9jdWUuZ2V0Q1NTU2l6ZSgpKSwgIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
UEVSQ0VOVEFHRSk7CisgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlI
ZWlnaHQsIHN0YXRpY19jYXN0PGRvdWJsZT4obV9jdWUuZ2V0Q1NTU2l6ZSgpKm11bHRpcGxpZXIp
LCAgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKTsKICAgICAgICAgc2V0SW5saW5l
U3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU1pbkhlaWdodCwgIi13ZWJraXQtbWluLWNvbnRlbnQi
KTsKICAgICB9CiAKQEAgLTE4Nyw2ICsxODgsMTEgQEAgdm9pZCBWVFRDdWVCb3g6OmFwcGx5Q1NT
UHJvcGVydGllcyhjb25zdAogICAgIC8vIGFsaWdubWVudDoKICAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VGV4dEFsaWduLCBtX2N1ZS5nZXRDU1NBbGlnbm1lbnQoKSk7CiAK
KyAgICBkb3VibGUgbWF4V2lkdGggPSB2aWRlb1NpemUud2lkdGgoKSAqICgxMDAuMCAtIHBvc2l0
aW9uLmZpcnN0KSAvIDEwMC4wOworICAgIGRvdWJsZSBtYXhIZWlnaHQgPSB2aWRlb1NpemUuaGVp
Z2h0KCkgKiAoMTAwLjAgLSBwb3NpdGlvbi5zZWNvbmQpIC8gMTAwLjA7CisgICAgc2V0SW5saW5l
U3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU1heFdpZHRoLCBtYXhXaWR0aCwgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19QWCk7CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU1h
eEhlaWdodCwgbWF4SGVpZ2h0LCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYKTsKKyAgICAKICAg
ICBpZiAoIW1fY3VlLnNuYXBUb0xpbmVzKCkpIHsKICAgICAgICAgLy8gMTAuMTMuMSBTZXQgdXAg
eCBhbmQgeToKICAgICAgICAgLy8gTm90ZTogeCBhbmQgeSBhcmUgc2V0IHRocm91Z2ggdGhlIENT
UyBsZWZ0IGFuZCB0b3AgYWJvdmUuCkBAIC03NzcsNyArNzgzLDcgQEAgdm9pZCBWVFRDdWU6OnVw
ZGF0ZURpc3BsYXlUcmVlKGRvdWJsZSBtbwogICAgIG1fY3VlSGlnaGxpZ2h0Qm94LT5hcHBlbmRD
aGlsZChyZWZlcmVuY2VUcmVlKTsKIH0KIAotVlRUQ3VlQm94KiBWVFRDdWU6OmdldERpc3BsYXlU
cmVlKGNvbnN0IEludFNpemUmIHZpZGVvU2l6ZSkKK1ZUVEN1ZUJveCogVlRUQ3VlOjpnZXREaXNw
bGF5VHJlZShjb25zdCBJbnRTaXplJiB2aWRlb1NpemUsIGludCBmb250U2l6ZSkKIHsKICAgICBS
ZWZQdHI8VlRUQ3VlQm94PiBkaXNwbGF5VHJlZSA9IGRpc3BsYXlUcmVlSW50ZXJuYWwoKTsKICAg
ICBpZiAoIW1fZGlzcGxheVRyZWVTaG91bGRDaGFuZ2UgfHwgIXRyYWNrKCktPmlzUmVuZGVyZWQo
KSkKQEAgLTgwOCwxMyArODE0LDcgQEAgVlRUQ3VlQm94KiBWVFRDdWU6OmdldERpc3BsYXlUcmVl
KGNvbnN0IAogICAgIC8vIFdlYlZUVCBSdWJ5IFRleHQgT2JqZWN0cyBtdXN0IGJlIHdyYXBwZWQg
aW4gYW5vbnltb3VzIGJveGVzIHdob3NlCiAgICAgLy8gJ2Rpc3BsYXknIHByb3BlcnR5IGhhcyB0
aGUgdmFsdWUgJ3J1YnktYmFzZScuCiAKLSAgICAvLyBGSVhNRShCVUcgNzk5MTYpOiBUZXh0IHJ1
bnMgbXVzdCBiZSB3cmFwcGVkIGFjY29yZGluZyB0byB0aGUgQ1NTCi0gICAgLy8gbGluZS13cmFw
cGluZyBydWxlcywgZXhjZXB0IHRoYXQgYWRkaXRpb25hbGx5LCByZWdhcmRsZXNzIG9mIHRoZSB2
YWx1ZSBvZgotICAgIC8vIHRoZSAnd2hpdGUtc3BhY2UnIHByb3BlcnR5LCBsaW5lcyBtdXN0IGJl
IHdyYXBwZWQgYXQgdGhlIGVkZ2Ugb2YgdGhlaXIKLSAgICAvLyBjb250YWluaW5nIGJsb2Nrcywg
ZXZlbiBpZiBkb2luZyBzbyByZXF1aXJlcyBzcGxpdHRpbmcgYSB3b3JkIHdoZXJlIHRoZXJlCi0g
ICAgLy8gaXMgbm8gbGluZSBicmVha2luZyBvcHBvcnR1bml0eS4gKFRodXMsIG5vcm1hbGx5IHRl
eHQgd3JhcHMgYXMgbmVlZGVkLAotICAgIC8vIGJ1dCBpZiB0aGVyZSBpcyBhIHBhcnRpY3VsYXJs
eSBsb25nIHdvcmQsIGl0IGRvZXMgbm90IG92ZXJmbG93IGFzIGl0Ci0gICAgLy8gbm9ybWFsbHkg
d291bGQgaW4gQ1NTLCBpdCBpcyBpbnN0ZWFkIGZvcmNpYmx5IHdyYXBwZWQgYXQgdGhlIGJveCdz
IGVkZ2UuKQorICAgIGRpc3BsYXlUcmVlLT5zZXRGb250U2l6ZUZyb21DYXB0aW9uVXNlclByZWZz
KGZvbnRTaXplKTsKICAgICBkaXNwbGF5VHJlZS0+YXBwbHlDU1NQcm9wZXJ0aWVzKHZpZGVvU2l6
ZSk7CiAKICAgICBtX2Rpc3BsYXlUcmVlU2hvdWxkQ2hhbmdlID0gZmFsc2U7CkBAIC0xMTQzLDYg
KzExNDMsOSBAQCB2b2lkIFZUVEN1ZTo6c2V0Rm9udFNpemUoaW50IGZvbnRTaXplLCBjCiAgICAg
CiAgICAgTE9HKE1lZGlhLCAiVGV4dFRyYWNrQ3VlOjpzZXRGb250U2l6ZSAtIHNldHRpbmcgY3Vl
IGZvbnQgc2l6ZSB0byAlaSIsIGZvbnRTaXplKTsKIAorICAgIGlmIChpbXBvcnRhbnQpCisgICAg
ICAgIGRpc3BsYXlUcmVlSW50ZXJuYWwoKS0+c2V0Rm9udFNpemVGcm9tQ2FwdGlvblVzZXJQcmVm
cygwKTsKKyAgICAKICAgICBkaXNwbGF5VHJlZUludGVybmFsKCktPnNldElubGluZVN0eWxlUHJv
cGVydHkoQ1NTUHJvcGVydHlGb250U2l6ZSwgZm9udFNpemUsIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfUFgsIGltcG9ydGFudCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
VlRUQ3VlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRDdWUu
aAkocmV2aXNpb24gMTcxNzA1KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRDdWUu
aAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGFwcGx5Q1NTUHJvcGVydGllcyhjb25zdCBJbnRTaXplJiB2aWRlb1NpemUpOwogCiAgICAg
c3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgdnR0Q3VlQm94U2hhZG93UHNldWRvSWQoKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0Rm9udFNpemVGcm9tQ2FwdGlvblVzZXJQcmVmcyhpbnQgZm9udFNp
emUpIHsgbV9mb250U2l6ZUZyb21DYXB0aW9uVXNlclByZWZzID0gZm9udFNpemU7IH0KIAogcHJv
dGVjdGVkOgogICAgIFZUVEN1ZUJveChEb2N1bWVudCYsIFZUVEN1ZSYpOwpAQCAtNjYsOCArNjcs
MTMgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNy
ZWF0ZUVsZW1lbnRSZW5kZXJlcihQYXNzUmVmPFJlbmRlclN0eWxlPikgb3ZlcnJpZGU7CiAKICAg
ICBWVFRDdWUmIG1fY3VlOworICAgIGludCBtX2ZvbnRTaXplRnJvbUNhcHRpb25Vc2VyUHJlZnM7
CisKKyAgICBzdGF0aWMgY29uc3QgZmxvYXQgZGVmYXVsdEZvbnRTaXplOwogfTsKIAorY29uc3Qg
ZmxvYXQgVlRUQ3VlQm94OjpkZWZhdWx0Rm9udFNpemUgPSAxMDsKKwogLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogCiBjbGFzcyBWVFRDdWUgOiBwdWJsaWMgVGV4dFRyYWNrQ3VlIHsK
QEAgLTExNSw3ICsxMjEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldElzQWN0aXZl
KGJvb2wpOwogCiAgICAgYm9vbCBoYXNEaXNwbGF5VHJlZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGlz
cGxheVRyZWU7IH0KLSAgICBWVFRDdWVCb3gqIGdldERpc3BsYXlUcmVlKGNvbnN0IEludFNpemUm
IHZpZGVvU2l6ZSk7CisgICAgVlRUQ3VlQm94KiBnZXREaXNwbGF5VHJlZShjb25zdCBJbnRTaXpl
JiB2aWRlb1NpemUsIGludCBmb250U2l6ZSk7CiAgICAgSFRNTFNwYW5FbGVtZW50KiBlbGVtZW50
KCkgY29uc3QgeyByZXR1cm4gbV9jdWVIaWdobGlnaHRCb3guZ2V0KCk7IH0KIAogICAgIHZvaWQg
dXBkYXRlRGlzcGxheVRyZWUoZG91YmxlKTsK
</data>
<flag name="review"
          id="260784"
          type_id="1"
          status="-"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236206</attachid>
            <date>2014-08-07 12:19:52 -0700</date>
            <delta_ts>2014-08-07 12:23:30 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>10905</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MjE5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA4LTA2ICBSb2dlciBG
b25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgSW5jcmVhc2Ugd2lkdGggb2Yg
Y2FwdGlvbiBjb250YWluZXIgaWYgYSBsYXJnZXIgZm9udCBzaXplIGlzIHNlbGVjdGVkIGZyb20g
dXNlciBwcmVmcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzNTY3Ny4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICBVcG9uIGNyZWF0aW9uIG9mIGEgVlRUQ3VlQm94IG1ha2Ugc3VyZSB0byBz
dXBwbHkgdGhlIGZvbnQgc2l6ZSBzZXQgYnkgdGhlIHVzZXIgcHJlZnMuCisgICAgICAgICogaHRt
bC90cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja0N1ZUdlbmVyaWNCb3hFbGVtZW50OjphcHBseUNTU1Byb3BlcnRpZXMpOgorICAgICAgICBJ
bmNyZWFzZSB0aGUgd2lkdGggb2YgdGhlIGN1ZSBib3ggYmFzZWQgb24gdXNlciBwcmVmcyBmb250
IHNpemUgc2VsZWN0aW9uLgorCisgICAgICAgICogaHRtbC90cmFjay9WVFRDdWUuaDoKKyAgICAg
ICAgS2VlcCB0cmFjayBvZiB0aGUgZm9udCBzaXplIHNldCBpbiB0aGUgdXNlciBwcmVmcyBmb3Ig
dXNlIHdoZW4gdGhlIGN1ZSBib3hlcyBhcmUgY3JlYXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlZU
VEN1ZUJveDo6c2V0Rm9udFNpemVGcm9tQ2FwdGlvblVzZXJQcmVmcyk6CisgICAgICAgICogaHRt
bC90cmFjay9WVFRDdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VlRUQ3VlQm94OjphcHBseUNT
U1Byb3BlcnRpZXMpOgorICAgICAgICBJbmNyZWFzZSB0aGUgd2lkdGggb2YgdGhlIGN1ZSBib3gg
YmFzZWQgb24gdXNlciBwcmVmcyBmb250IHNpemUgc2VsZWN0aW9uLgorICAgICAgICAoV2ViQ29y
ZTo6VlRUQ3VlOjpnZXREaXNwbGF5VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpWVFRDdWU6OnNl
dEZvbnRTaXplKToKKyAgICAgICAgSWYgdGhlIGZvbnQgc2l6ZSBzZXQgaXMgaW1wb3J0YW50IHRo
ZW4gd2UgZG9uJ3Qgd2FudCB0byB1c2UgdGhlIGZvbnQgc2l6ZSBzZXQgYnkgdXNlciBwcmVmcywg
c2V0IGl0IHRvIDAuCisKIDIwMTQtMDgtMDYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxk
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBNYWtlIGRvY3VtZW50IG1hcmtlciBhc3NldHMg
bm90IHNwZWNpZmljIHRvIHBhcnRpY3VsYXIgc2NhbGUgZmFjdG9ycwpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAkocmV2
aXNpb24gMTcxNzA1KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMwLDcgKzEzMzAsNyBAQCB2b2lkIE1l
ZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lCiAKICAgICAgICAgTE9HKE1lZGlhLCAi
TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlRGlzcGxheSglcCkg
LSBhZGRpbmcgYW5kIHBvc2l0aW9uaW5nIGN1ZSAjJXp1OiBcIiVzXCIsIHN0YXJ0PSUuMmYsIGVu
ZD0lLjJmLCBsaW5lPSUuMmYiLCB0aGlzLCBpLCBjdWUtPnRleHQoKS51dGY4KCkuZGF0YSgpLCBj
dWUtPnN0YXJ0VGltZSgpLCBjdWUtPmVuZFRpbWUoKSwgY3VlLT5saW5lKCkpOwogCi0gICAgICAg
IFJlZlB0cjxWVFRDdWVCb3g+IGRpc3BsYXlCb3ggPSBjdWUtPmdldERpc3BsYXlUcmVlKG1fdmlk
ZW9EaXNwbGF5U2l6ZS5zaXplKCkpOworICAgICAgICBSZWZQdHI8VlRUQ3VlQm94PiBkaXNwbGF5
Qm94ID0gY3VlLT5nZXREaXNwbGF5VHJlZShtX3ZpZGVvRGlzcGxheVNpemUuc2l6ZSgpLCBtX2Zv
bnRTaXplKTsKICNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpCiAgICAgICAgIGlmIChjdWUtPnRy
YWNrKCktPm1vZGUoKSA9PSBUZXh0VHJhY2s6OmRpc2FibGVkS2V5d29yZCgpKQogICAgICAgICAg
ICAgY29udGludWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1
ZUdlbmVyaWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4
dFRyYWNrQ3VlR2VuZXJpYy5jcHAJKHJldmlzaW9uIDE3MTcwNSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlR2VuZXJpYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDYgKzMwLDcgQEAKICNpbmNsdWRlICJUZXh0VHJhY2tDdWVHZW5lcmljLmgiCiAKICNpbmNsdWRl
ICJDU1NQcm9wZXJ0eU5hbWVzLmgiCisjaW5jbHVkZSAiQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIgog
I2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJIVE1MU3BhbkVsZW1lbnQuaCIKQEAgLTM3LDcgKzM4LDkgQEAKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgogI2luY2x1ZGUg
IlRleHRUcmFja0N1ZS5oIgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNzUsMTYgKzc4LDI3IEBAIHZvaWQgVGV4dFRyYWNrQ3VlR2VuZXJp
Y0JveEVsZW1lbnQ6OmFwcGwKICAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUxlZnQsIHN0YXRpY19jYXN0PGZsb2F0PihjdWUtPnBvc2l0aW9uKCkpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOwogICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5
KENTU1Byb3BlcnR5VG9wLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3VlLT5saW5lKCkpLCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOwogCisgICAgICAgIGZsb2F0IGF1dGhvckZvbnRT
aXplID0gc3RkOjptYXgoVlRUQ3VlQm94OjpERUZBVUxURk9OVFNJWkUsIHN0YXRpY19jYXN0PGZs
b2F0Pih2aWRlb1NpemUuaGVpZ2h0KCkgKiBjdWUtPmJhc2VGb250U2l6ZVJlbGF0aXZlVG9WaWRl
b0hlaWdodCgpIC8gMTAwKSk7CisgICAgICAgIGlmIChjdWUtPmZvbnRTaXplTXVsdGlwbGllcigp
KQorICAgICAgICAgICAgYXV0aG9yRm9udFNpemUgKj0gY3VlLT5mb250U2l6ZU11bHRpcGxpZXIo
KSAvIDEwMDsKKworICAgICAgICBmbG9hdCBtdWx0aXBsaWVyID0gc3RkOjptYXgoMS4wZiwgbV9m
b250U2l6ZUZyb21DYXB0aW9uVXNlclByZWZzIC8gYXV0aG9yRm9udFNpemUpOwogICAgICAgICBp
ZiAoY3VlLT5nZXRXcml0aW5nRGlyZWN0aW9uKCkgPT0gVlRUQ3VlOjpIb3Jpem9udGFsKQotICAg
ICAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdpZHRoLCBzaXplLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOworICAgICAgICAgICAgc2V0SW5saW5l
U3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdpZHRoLCBzaXplICogbXVsdGlwbGllciwgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAg
c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUhlaWdodCwgc2l6ZSwgIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CisgICAgICAgICAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5SGVpZ2h0LCBzaXplICogbXVsdGlwbGllciwgIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CiAgICAgfQogCi0gICAgaWYgKGN1ZS0+Z2V0V3JpdGlu
Z0RpcmVjdGlvbigpID09IFZUVEN1ZTo6SG9yaXpvbnRhbCkKKyAgICBzdGQ6OnBhaXI8ZmxvYXQs
IGZsb2F0PiBwb3NpdGlvbiA9IG1fY3VlLmdldENTU1Bvc2l0aW9uKCk7CisgICAgaWYgKGN1ZS0+
Z2V0V3JpdGluZ0RpcmVjdGlvbigpID09IFZUVEN1ZTo6SG9yaXpvbnRhbCkgewogICAgICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5TWluV2lkdGgsICItd2Via2l0LW1pbi1j
b250ZW50Iik7Ci0gICAgZWxzZQorICAgICAgICBkb3VibGUgbWF4V2lkdGggPSB2aWRlb1NpemUu
d2lkdGgoKSAqICgxMDAuMCAtIHBvc2l0aW9uLmZpcnN0KSAvIDEwMC4wOworICAgICAgICBzZXRJ
bmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5TWF4V2lkdGgsIG1heFdpZHRoLCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BYKTsKKyAgICB9IGVsc2UgewogICAgICAgICBzZXRJbmxpbmVTdHls
ZVByb3BlcnR5KENTU1Byb3BlcnR5TWluSGVpZ2h0LCAiLXdlYmtpdC1taW4tY29udGVudCIpOwor
ICAgICAgICBkb3VibGUgbWF4SGVpZ2h0ID0gdmlkZW9TaXplLmhlaWdodCgpICogKDEwMC4wIC0g
cG9zaXRpb24uc2Vjb25kKSAvIDEwMC4wOworICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5
KENTU1Byb3BlcnR5TWF4SGVpZ2h0LCBtYXhIZWlnaHQsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
UFgpOworICAgIH0KIAogICAgIGlmIChjdWUtPmZvcmVncm91bmRDb2xvcigpLmlzVmFsaWQoKSkK
ICAgICAgICAgY3VlRWxlbWVudC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUNv
bG9yLCBjdWUtPmZvcmVncm91bmRDb2xvcigpLnNlcmlhbGl6ZWQoKSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9WVFRDdWUuY3BwCShyZXZpc2lvbiAxNzE3MDUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOCw3ICsxMzgs
NyBAQCBWVFRDdWUqIFZUVEN1ZUJveDo6Z2V0Q3VlKCkgY29uc3QKICAgICByZXR1cm4gJm1fY3Vl
OwogfQogCi12b2lkIFZUVEN1ZUJveDo6YXBwbHlDU1NQcm9wZXJ0aWVzKGNvbnN0IEludFNpemUm
KQordm9pZCBWVFRDdWVCb3g6OmFwcGx5Q1NTUHJvcGVydGllcyhjb25zdCBJbnRTaXplJiB2aWRl
b1NpemUpCiB7CiAgICAgLy8gRklYTUU6IEFwcGx5IGFsbCB0aGUgaW5pdGlhbCBDU1MgcG9zaXRp
b25pbmcgcHJvcGVydGllcy4gaHR0cDovL3drYi51Zy83OTkxNgogI2lmIEVOQUJMRShXRUJWVFRf
UkVHSU9OUykKQEAgLTE3MCwxNSArMTcwLDIwIEBAIHZvaWQgVlRUQ3VlQm94OjphcHBseUNTU1By
b3BlcnRpZXMoY29uc3QKICAgICAvLyB0aGUgJ2xlZnQnIHByb3BlcnR5IG11c3QgYmUgc2V0IHRv
IGxlZnQKICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5TGVmdCwgc3RhdGlj
X2Nhc3Q8ZG91YmxlPihwb3NpdGlvbi5maXJzdCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVS
Q0VOVEFHRSk7CiAKKyAgICBmbG9hdCBtdWx0aXBsaWVyID0gc3RkOjptYXgoMS4wZiwgbV9mb250
U2l6ZUZyb21DYXB0aW9uVXNlclByZWZzIC8gVlRUQ3VlQm94OjpERUZBVUxURk9OVFNJWkUpOwog
ICAgIC8vIHRoZSAnd2lkdGgnIHByb3BlcnR5IG11c3QgYmUgc2V0IHRvIHdpZHRoLCBhbmQgdGhl
ICdoZWlnaHQnIHByb3BlcnR5ICBtdXN0IGJlIHNldCB0byBoZWlnaHQKICAgICBpZiAobV9jdWUu
dmVydGljYWwoKSA9PSBob3Jpem9udGFsS2V5d29yZCgpKSB7Ci0gICAgICAgIHNldElubGluZVN0
eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlXaWR0aCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtX2N1ZS5n
ZXRDU1NTaXplKCkpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOworICAgICAg
ICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5V2lkdGgsIHN0YXRpY19jYXN0PGRv
dWJsZT4obV9jdWUuZ2V0Q1NTU2l6ZSgpICogbXVsdGlwbGllciksIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUEVSQ0VOVEFHRSk7CiAgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJv
cGVydHlIZWlnaHQsIENTU1ZhbHVlQXV0byk7CiAgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVy
dHkoQ1NTUHJvcGVydHlNaW5XaWR0aCwgIi13ZWJraXQtbWluLWNvbnRlbnQiKTsKKyAgICAgICAg
ZG91YmxlIG1heFdpZHRoID0gdmlkZW9TaXplLndpZHRoKCkgKiAoMTAwLjAgLSBwb3NpdGlvbi5m
aXJzdCkgLyAxMDAuMDsKKyAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eU1heFdpZHRoLCBtYXhXaWR0aCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCk7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdpZHRoLCBD
U1NWYWx1ZUF1dG8pOwotICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5
SGVpZ2h0LCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fY3VlLmdldENTU1NpemUoKSksICBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOworICAgICAgICBzZXRJbmxpbmVTdHlsZVByb3Bl
cnR5KENTU1Byb3BlcnR5SGVpZ2h0LCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fY3VlLmdldENTU1Np
emUoKSAqIG11bHRpcGxpZXIpLCAgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKTsK
ICAgICAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU1pbkhlaWdodCwgIi13
ZWJraXQtbWluLWNvbnRlbnQiKTsKKyAgICAgICAgZG91YmxlIG1heEhlaWdodCA9IHZpZGVvU2l6
ZS5oZWlnaHQoKSAqICgxMDAuMCAtIHBvc2l0aW9uLnNlY29uZCkgLyAxMDAuMDsKKyAgICAgICAg
c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU1heEhlaWdodCwgbWF4SGVpZ2h0LCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYKTsKICAgICB9CiAKICAgICAvLyBUaGUgJ3RleHQtYWxp
Z24nIHByb3BlcnR5IG9uIHRoZSAocm9vdCkgTGlzdCBvZiBXZWJWVFQgTm9kZSBPYmplY3RzIG11
c3QKQEAgLTE4Niw3ICsxOTEsNyBAQCB2b2lkIFZUVEN1ZUJveDo6YXBwbHlDU1NQcm9wZXJ0aWVz
KGNvbnN0CiAgICAgLy8gd2hvc2UgZmlyc3QgY2VsbCBpcyB0aGUgdmFsdWUgb2YgdGhlIGNvcnJl
c3BvbmRpbmcgY3VlJ3MgdGV4dCB0cmFjayBjdWUKICAgICAvLyBhbGlnbm1lbnQ6CiAgICAgc2V0
SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRleHRBbGlnbiwgbV9jdWUuZ2V0Q1NTQWxp
Z25tZW50KCkpOwotCisgICAgCiAgICAgaWYgKCFtX2N1ZS5zbmFwVG9MaW5lcygpKSB7CiAgICAg
ICAgIC8vIDEwLjEzLjEgU2V0IHVwIHggYW5kIHk6CiAgICAgICAgIC8vIE5vdGU6IHggYW5kIHkg
YXJlIHNldCB0aHJvdWdoIHRoZSBDU1MgbGVmdCBhbmQgdG9wIGFib3ZlLgpAQCAtNzc3LDcgKzc4
Miw3IEBAIHZvaWQgVlRUQ3VlOjp1cGRhdGVEaXNwbGF5VHJlZShkb3VibGUgbW8KICAgICBtX2N1
ZUhpZ2hsaWdodEJveC0+YXBwZW5kQ2hpbGQocmVmZXJlbmNlVHJlZSk7CiB9CiAKLVZUVEN1ZUJv
eCogVlRUQ3VlOjpnZXREaXNwbGF5VHJlZShjb25zdCBJbnRTaXplJiB2aWRlb1NpemUpCitWVFRD
dWVCb3gqIFZUVEN1ZTo6Z2V0RGlzcGxheVRyZWUoY29uc3QgSW50U2l6ZSYgdmlkZW9TaXplLCBp
bnQgZm9udFNpemUpCiB7CiAgICAgUmVmUHRyPFZUVEN1ZUJveD4gZGlzcGxheVRyZWUgPSBkaXNw
bGF5VHJlZUludGVybmFsKCk7CiAgICAgaWYgKCFtX2Rpc3BsYXlUcmVlU2hvdWxkQ2hhbmdlIHx8
ICF0cmFjaygpLT5pc1JlbmRlcmVkKCkpCkBAIC04MDgsMTMgKzgxMyw3IEBAIFZUVEN1ZUJveCog
VlRUQ3VlOjpnZXREaXNwbGF5VHJlZShjb25zdCAKICAgICAvLyBXZWJWVFQgUnVieSBUZXh0IE9i
amVjdHMgbXVzdCBiZSB3cmFwcGVkIGluIGFub255bW91cyBib3hlcyB3aG9zZQogICAgIC8vICdk
aXNwbGF5JyBwcm9wZXJ0eSBoYXMgdGhlIHZhbHVlICdydWJ5LWJhc2UnLgogCi0gICAgLy8gRklY
TUUoQlVHIDc5OTE2KTogVGV4dCBydW5zIG11c3QgYmUgd3JhcHBlZCBhY2NvcmRpbmcgdG8gdGhl
IENTUwotICAgIC8vIGxpbmUtd3JhcHBpbmcgcnVsZXMsIGV4Y2VwdCB0aGF0IGFkZGl0aW9uYWxs
eSwgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YKLSAgICAvLyB0aGUgJ3doaXRlLXNwYWNlJyBw
cm9wZXJ0eSwgbGluZXMgbXVzdCBiZSB3cmFwcGVkIGF0IHRoZSBlZGdlIG9mIHRoZWlyCi0gICAg
Ly8gY29udGFpbmluZyBibG9ja3MsIGV2ZW4gaWYgZG9pbmcgc28gcmVxdWlyZXMgc3BsaXR0aW5n
IGEgd29yZCB3aGVyZSB0aGVyZQotICAgIC8vIGlzIG5vIGxpbmUgYnJlYWtpbmcgb3Bwb3J0dW5p
dHkuIChUaHVzLCBub3JtYWxseSB0ZXh0IHdyYXBzIGFzIG5lZWRlZCwKLSAgICAvLyBidXQgaWYg
dGhlcmUgaXMgYSBwYXJ0aWN1bGFybHkgbG9uZyB3b3JkLCBpdCBkb2VzIG5vdCBvdmVyZmxvdyBh
cyBpdAotICAgIC8vIG5vcm1hbGx5IHdvdWxkIGluIENTUywgaXQgaXMgaW5zdGVhZCBmb3JjaWJs
eSB3cmFwcGVkIGF0IHRoZSBib3gncyBlZGdlLikKKyAgICBkaXNwbGF5VHJlZS0+c2V0Rm9udFNp
emVGcm9tQ2FwdGlvblVzZXJQcmVmcyhmb250U2l6ZSk7CiAgICAgZGlzcGxheVRyZWUtPmFwcGx5
Q1NTUHJvcGVydGllcyh2aWRlb1NpemUpOwogCiAgICAgbV9kaXNwbGF5VHJlZVNob3VsZENoYW5n
ZSA9IGZhbHNlOwpAQCAtMTE0Myw2ICsxMTQyLDkgQEAgdm9pZCBWVFRDdWU6OnNldEZvbnRTaXpl
KGludCBmb250U2l6ZSwgYwogICAgIAogICAgIExPRyhNZWRpYSwgIlRleHRUcmFja0N1ZTo6c2V0
Rm9udFNpemUgLSBzZXR0aW5nIGN1ZSBmb250IHNpemUgdG8gJWkiLCBmb250U2l6ZSk7CiAKKyAg
ICBpZiAoaW1wb3J0YW50KQorICAgICAgICBkaXNwbGF5VHJlZUludGVybmFsKCktPnNldEZvbnRT
aXplRnJvbUNhcHRpb25Vc2VyUHJlZnMoMCk7CisgICAgCiAgICAgZGlzcGxheVRyZWVJbnRlcm5h
bCgpLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUsIGZvbnRTaXpl
LCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYLCBpbXBvcnRhbnQpOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVlRUQ3VlLmgJKHJldmlzaW9uIDE3MTcwNSkKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVlRUQ3VlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhcHBseUNTU1Byb3BlcnRpZXMoY29uc3QgSW50U2l6
ZSYgdmlkZW9TaXplKTsKIAogICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHZ0dEN1ZUJv
eFNoYWRvd1BzZXVkb0lkKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEZvbnRTaXplRnJvbUNhcHRp
b25Vc2VyUHJlZnMoaW50IGZvbnRTaXplKSB7IG1fZm9udFNpemVGcm9tQ2FwdGlvblVzZXJQcmVm
cyA9IGZvbnRTaXplOyB9CiAKIHByb3RlY3RlZDoKICAgICBWVFRDdWVCb3goRG9jdW1lbnQmLCBW
VFRDdWUmKTsKQEAgLTY2LDggKzY3LDE0IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIFJlbmRl
clB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUGFzc1JlZjxSZW5kZXJT
dHlsZT4pIG92ZXJyaWRlOwogCiAgICAgVlRUQ3VlJiBtX2N1ZTsKKyAgICBpbnQgbV9mb250U2l6
ZUZyb21DYXB0aW9uVXNlclByZWZzOworCisgICAgc3RhdGljIGNvbnN0IGZsb2F0IERFRkFVTFRG
T05UU0laRTsKIH07CiAKKy8vIFRoaXMgZGVmYXVsdCB2YWx1ZSBtdXN0IGJlIHRoZSBzYW1lIGFz
IHRoZSBvbmUgc3BlY2lmaWVkIGluIG1lZGlhQ29udHJvbHNBcHBsZS5jc3MgZm9yIC13ZWJraXQt
bWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lcgorY29uc3QgZmxvYXQgVlRU
Q3VlQm94OjpERUZBVUxURk9OVFNJWkUgPSAxMDsKKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogCiBjbGFzcyBWVFRDdWUgOiBwdWJsaWMgVGV4dFRyYWNrQ3VlIHsKQEAgLTExNSw3
ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldElzQWN0aXZlKGJvb2wpOwog
CiAgICAgYm9vbCBoYXNEaXNwbGF5VHJlZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzcGxheVRyZWU7
IH0KLSAgICBWVFRDdWVCb3gqIGdldERpc3BsYXlUcmVlKGNvbnN0IEludFNpemUmIHZpZGVvU2l6
ZSk7CisgICAgVlRUQ3VlQm94KiBnZXREaXNwbGF5VHJlZShjb25zdCBJbnRTaXplJiB2aWRlb1Np
emUsIGludCBmb250U2l6ZSk7CiAgICAgSFRNTFNwYW5FbGVtZW50KiBlbGVtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9jdWVIaWdobGlnaHRCb3guZ2V0KCk7IH0KIAogICAgIHZvaWQgdXBkYXRlRGlz
cGxheVRyZWUoZG91YmxlKTsK
</data>
<flag name="review"
          id="260792"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>