<?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>100106</bug_id>
          
          <creation_ts>2012-10-23 04:04:03 -0700</creation_ts>
          <short_desc>[Qt] Make default typesettings configurable</short_desc>
          <delta_ts>2014-02-03 03:22:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>420+</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>100863</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Allan Sandfeld Jensen">allan.jensen</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>abecsi</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pierre.rossi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>748474</commentid>
    <comment_count>0</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-23 04:04:03 -0700</bug_when>
    <thetext>WebCore has the ability to draw fonts with kerning and common ligatures, and we support that in the Qt backend. It is however disabled by default and only enabled when websites explicitly enable it (the settings can basically be auto, on, off, and we let auto == off).

Safari already allows this setting to be user-configurable, and I believe we should give users the same option. We might later also enable it by default for printing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748476</commentid>
    <comment_count>1</comment_count>
      <attachid>170114</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-23 04:06:21 -0700</bug_when>
    <thetext>Created attachment 170114
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748578</commentid>
    <comment_count>2</comment_count>
      <attachid>170147</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-23 06:36:50 -0700</bug_when>
    <thetext>Created attachment 170147
Patch

Made it configurable in WebKit2 by making the Mac-only setting generally available</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748595</commentid>
    <comment_count>3</comment_count>
      <attachid>170147</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-23 06:56:10 -0700</bug_when>
    <thetext>Comment on attachment 170147
Patch

Attachment 170147 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14487876</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748613</commentid>
    <comment_count>4</comment_count>
      <attachid>170157</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-23 07:16:50 -0700</bug_when>
    <thetext>Created attachment 170157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748697</commentid>
    <comment_count>5</comment_count>
      <attachid>170176</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-23 09:07:55 -0700</bug_when>
    <thetext>Created attachment 170176
Patch

Expose setting in QtTestBrowser for visually testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752048</commentid>
    <comment_count>6</comment_count>
      <attachid>170176</attachid>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2012-10-26 07:49:51 -0700</bug_when>
    <thetext>Comment on attachment 170176
Patch

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

&gt; Source/WebKit/qt/Api/qwebsettings.cpp:492
&gt; +    \value KerningAndLigaturesEnabledByDefault This setting enables font kerning and common ligatures everywhere they have not been explicitly disabled. This setting is disabled by default.

I think it&apos;s fine to expose this for people using QtWebKit to do things other than web browsers. As long as it is off by default it shouldn&apos;t hurt, but since it&apos;s gonna bring performance down quite dramatically when turned on, maybe there could be a mention of the implications setting this to true has.
The CSS way with &quot;text-rendering: optimizeLegibility&quot; seems more suited for people who have control over their content.
Maybe the docs should mention something about those trade-offs ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753217</commentid>
    <comment_count>7</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-29 03:24:26 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 170176 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=170176&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/qt/Api/qwebsettings.cpp:492
&gt; &gt; +    \value KerningAndLigaturesEnabledByDefault This setting enables font kerning and common ligatures everywhere they have not been explicitly disabled. This setting is disabled by default.
&gt; 
&gt; I think it&apos;s fine to expose this for people using QtWebKit to do things other than web browsers. As long as it is off by default it shouldn&apos;t hurt, but since it&apos;s gonna bring performance down quite dramatically when turned on, maybe there could be a mention of the implications setting this to true has.
&gt; The CSS way with &quot;text-rendering: optimizeLegibility&quot; seems more suited for people who have control over their content.

Maybe, but I don&apos;t think we support custum UA or even user stylesheets, and this is controlling the default when text-rendering mode is in default.

&gt; Maybe the docs should mention something about those trade-offs ?

Good idea, I will add that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753258</commentid>
    <comment_count>8</comment_count>
      <attachid>171201</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-29 04:20:38 -0700</bug_when>
    <thetext>Created attachment 171201
Patch

Rebased and improved documentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753528</commentid>
    <comment_count>9</comment_count>
      <attachid>171201</attachid>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2012-10-29 09:43:56 -0700</bug_when>
    <thetext>Comment on attachment 171201
Patch

Looks good to me, but I&apos;m not a reviewer ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755149</commentid>
    <comment_count>10</comment_count>
      <attachid>171201</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-31 04:28:05 -0700</bug_when>
    <thetext>Comment on attachment 171201
Patch

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

&gt; Source/WebKit/qt/Api/qwebsettings.h:86
&gt; +        KerningAndLigaturesEnabledByDefault

I would leave the &quot;ByDefault&quot; part out for consistency with other parameters. The doc you added explains it well.

&gt; Source/WebKit2/Shared/WebProcessCreationParameters.cpp:40
&gt; +    , shouldEnableKerningAndLigaturesByDefault(false)

This patch should normally either not touch the WebKit2 part, or do something with this bool and expose it in QWebPreferences.

&gt; Source/WebKit2/UIProcess/WebContext.cpp:390
&gt; +    parameters.shouldEnableKerningAndLigaturesByDefault = m_shouldEnableKerningAndLigaturesByDefault;

We should probably remove that part from WebContextMac.mm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755173</commentid>
    <comment_count>11</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-31 05:02:25 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 171201 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171201&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/qt/Api/qwebsettings.h:86
&gt; &gt; +        KerningAndLigaturesEnabledByDefault
&gt; 
&gt; I would leave the &quot;ByDefault&quot; part out for consistency with other parameters. The doc you added explains it well.
&gt; 
The problem is that it only changes the default. In most cases that means it will enable it, but web-sites can still override the default. I originally used a different name, but changed it to match the name of the Mac settings. 

&gt; &gt; Source/WebKit2/UIProcess/WebContext.cpp:390
&gt; &gt; +    parameters.shouldEnableKerningAndLigaturesByDefault = m_shouldEnableKerningAndLigaturesByDefault;
&gt; 
&gt; We should probably remove that part from WebContextMac.mm

What do you mean? The part that sets this in WebContextMac, overrides this setting and is needed to apply the Mac settings.

Mac will not be able to apply the setting at runtime with this system, but it will continue to work as well as it already does, and they are free to migrate to using the platform-independent settings later.

You are probably right the WebKit2 settings are not ready yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755294</commentid>
    <comment_count>12</comment_count>
      <attachid>171658</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-31 07:43:22 -0700</bug_when>
    <thetext>Created attachment 171658
Patch

Moves the default typesetting features into page/Setting, and exports it qwebpreferences</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755296</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-31 07:47:05 -0700</bug_when>
    <thetext>Attachment 171658 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2200:  Line contains only semicolon. If this should be an empty statement, use { } instead.  [whitespace/semicolon] [5]
Total errors found: 1 in 23 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>755328</commentid>
    <comment_count>14</comment_count>
      <attachid>171658</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-31 08:40:49 -0700</bug_when>
    <thetext>Comment on attachment 171658
Patch

I am going to split this patch in two.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757003</commentid>
    <comment_count>15</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-11-02 02:21:08 -0700</bug_when>
    <thetext>In general I like the idea a lot.

While I understand the motivation of disabling kerning and ligatures for western languages by default in a browser, I&apos;m personally a big fan of those features and I totally see that for example in an email reader application it is desirable to enable them by default (where the text layout performance is less critical). This is a decision that should be possible to control by the app developer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758102</commentid>
    <comment_count>16</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-11-04 03:16:14 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; In general I like the idea a lot.
&gt; 
&gt; While I understand the motivation of disabling kerning and ligatures for western languages by default in a browser, I&apos;m personally a big fan of those features and I totally see that for example in an email reader application it is desirable to enable them by default (where the text layout performance is less critical). This is a decision that should be possible to control by the app developer.

We may need a separate API for it though. Apple are not going to allow us to make it a preference, because they have APIs using the text system without a Page and thus without Settings.

The question is then how we would do that in Qt. A global setting is essentially something set on QApplication level, but kerning is usually enabled by default in Qt, and a WebKit specific setting in QApplication would be a mess.

We may end up having to do it using user style-sheets though that is more error-prone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767958</commentid>
    <comment_count>17</comment_count>
      <attachid>174405</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-11-15 04:46:59 -0800</bug_when>
    <thetext>Created attachment 174405
Patch

Changed the kerning setting to be global, since making it a real runtime setting has some opposition</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975576</commentid>
    <comment_count>18</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:22:59 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170114</attachid>
            <date>2012-10-23 04:06:21 -0700</date>
            <delta_ts>2012-10-23 06:36:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100106-20121023130439.patch</filename>
            <type>text/plain</type>
            <size>3783</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDU1M2Q3ZmEyMDYw
MjU2Y2E3NmNkYzc2MGNlZWRhMGNmMzE5NmJkNTAuLjljNmY4NTdkZDY0NzBmOTQ5ZjA3Nzk3YjBm
NmIxNjNjNzM3NzFiNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAt
MjMgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAg
ICAgICAgW1F0XSBNYWtlIGRlZmF1bHQgdHlwZXNldHRpbmdzIGNvbmZpZ3VyYWJsZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTA2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IHRoZSBvcHRp
b24gS2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQsIHdoaWNoIGlzIGRlZmF1bHQg
b2ZmLgorCisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0
dGluZ3NQcml2YXRlOjphcHBseSk6CisgICAgICAgIChRV2ViU2V0dGluZ3M6OlFXZWJTZXR0aW5n
cyk6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5oOgorCiAyMDEyLTEwLTIyICBTaW1vbiBI
YXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdIEZpeCBi
dWlsZCB3aXRob3V0IFF0V2lkZ2V0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkv
cXdlYnNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAK
aW5kZXggYmE3MTg3ZGY3MDM0ZGVhYjI4ZDc1ODliODAwNTdiNTFhYTZmZWIzMy4uODdkODFjNzZj
ODI5Mjk3ODJmOGViOTZjZjVkY2QwYTFhMzc4Y2YyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
c2V0dGluZ3MuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKICNpbmNsdWRlICJGaWxl
U3lzdGVtLmgiCisjaW5jbHVkZSAiRm9udC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgpAQCAtMjY3LDYgKzI2OCwxNCBAQCB2b2lk
IFFXZWJTZXR0aW5nc1ByaXZhdGU6OmFwcGx5KCkKICAgICAgICAgc2V0dGluZ3MtPnNldEVuYWJs
ZVNjcm9sbEFuaW1hdG9yKHZhbHVlKTsKICNlbmRpZgogCisgICAgICAgIHZhbHVlID0gYXR0cmli
dXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6Oktlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkQnlEZWZh
dWx0LCBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpLZXJuaW5nQW5kTGln
YXR1cmVzRW5hYmxlZEJ5RGVmYXVsdCkpOworICAgICAgICBXZWJDb3JlOjpUeXBlc2V0dGluZ0Zl
YXR1cmVzIGRlZmF1bHRUeXBlU2V0dGluZ0ZlYXR1cmVzID0gV2ViQ29yZTo6Rm9udDo6ZGVmYXVs
dFR5cGVzZXR0aW5nRmVhdHVyZXMoKTsKKyAgICAgICAgaWYgKHZhbHVlKQorICAgICAgICAgICAg
ZGVmYXVsdFR5cGVTZXR0aW5nRmVhdHVyZXMgfD0gV2ViQ29yZTo6S2VybmluZyB8IFdlYkNvcmU6
OkxpZ2F0dXJlczsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGVmYXVsdFR5cGVTZXR0aW5n
RmVhdHVyZXMgJj0gfihXZWJDb3JlOjpLZXJuaW5nIHwgV2ViQ29yZTo6TGlnYXR1cmVzKTsKKyAg
ICAgICAgV2ViQ29yZTo6Rm9udDo6c2V0RGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMoZGVmYXVs
dFR5cGVTZXR0aW5nRmVhdHVyZXMpOworCiAgICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1
ZShRV2ViU2V0dGluZ3M6OlNpdGVTcGVjaWZpY1F1aXJrc0VuYWJsZWQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbC0+YXR0cmlidXRlcy52YWx1ZShRV2ViU2V0
dGluZ3M6OlNpdGVTcGVjaWZpY1F1aXJrc0VuYWJsZWQpKTsKICAgICAgICAgc2V0dGluZ3MtPnNl
dE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKHZhbHVlKTsKQEAgLTQ4MCw2ICs0ODksNyBAQCBRV2Vi
U2V0dGluZ3MqIFFXZWJTZXR0aW5nczo6Z2xvYmFsU2V0dGluZ3MoKQogICAgIFx2YWx1ZSBTaXRl
U3BlY2lmaWNRdWlya3NFbmFibGVkIFRoaXMgc2V0dGluZyBlbmFibGVzIFdlYktpdCdzIHdvcmth
cm91bmQgZm9yIGJyb2tlbiBzaXRlcy4gSXQgaXMKICAgICAgICAgZW5hYmxlZCBieSBkZWZhdWx0
LgogICAgIFx2YWx1ZSBTY3JvbGxBbmltYXRvckVuYWJsZWQgVGhpcyBzZXR0aW5nIGVuYWJsZXMg
YW5pbWF0ZWQgc2Nyb2xsaW5nLiBJdCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LgorICAgIFx2YWx1
ZSBLZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxlZEJ5RGVmYXVsdCBUaGlzIHNldHRpbmcgZW5hYmxl
cyBmb250IGtlcm5pbmcgYW5kIGNvbW1vbiBsaWdhdHVyZXMgZXZlcnl3aGVyZSB0aGV5IGhhdmUg
bm90IGJlZW4gZXhwbGljaXRseSBkaXNhYmxlZC4gVGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGJ5
IGRlZmF1bHQuCiAqLwogCiAvKiEKQEAgLTUzMiw2ICs1NDIsNyBAQCBRV2ViU2V0dGluZ3M6OlFX
ZWJTZXR0aW5ncygpCiAgICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRpbmdzOjpGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkLCBmYWxzZSk7CiAgICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdl
YlNldHRpbmdzOjpTaXRlU3BlY2lmaWNRdWlya3NFbmFibGVkLCB0cnVlKTsKICAgICBkLT5hdHRy
aWJ1dGVzLmluc2VydChRV2ViU2V0dGluZ3M6OlNjcm9sbEFuaW1hdG9yRW5hYmxlZCwgZmFsc2Up
OworICAgIGQtPmF0dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6S2VybmluZ0FuZExpZ2F0
dXJlc0VuYWJsZWRCeURlZmF1bHQsIGZhbHNlKTsKICAgICBkLT5vZmZsaW5lU3RvcmFnZURlZmF1
bHRRdW90YSA9IDUgKiAxMDI0ICogMTAyNDsKICAgICBkLT5kZWZhdWx0VGV4dEVuY29kaW5nID0g
UUxhdGluMVN0cmluZygiaXNvLTg4NTktMSIpOwogICAgIGQtPnRoaXJkUGFydHlDb29raWVQb2xp
Y3kgPSBBbHdheXNBbGxvd1RoaXJkUGFydHlDb29raWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0
dGluZ3MuaAppbmRleCA1YjY0OTdhZmI0MjM3NDczM2UzYzYyMDJiM2NkNzg0OWQ4YTdiNmQxLi45
ODhhNWU1YjkyZDE4Y2IxNmQ3OTg4MWUwNDlhNDkyM2IyZWI2NTU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0Fw
aS9xd2Vic2V0dGluZ3MuaApAQCAtODAsNyArODAsOCBAQCBwdWJsaWM6CiAgICAgICAgIENTU1Jl
Z2lvbnNFbmFibGVkLAogICAgICAgICBIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQsCiAgICAgICAg
IENTU0dyaWRMYXlvdXRFbmFibGVkLAotICAgICAgICBTY3JvbGxBbmltYXRvckVuYWJsZWQKKyAg
ICAgICAgU2Nyb2xsQW5pbWF0b3JFbmFibGVkLAorICAgICAgICBLZXJuaW5nQW5kTGlnYXR1cmVz
RW5hYmxlZEJ5RGVmYXVsdAogICAgIH07CiAgICAgZW51bSBXZWJHcmFwaGljIHsKICAgICAgICAg
TWlzc2luZ0ltYWdlR3JhcGhpYywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170147</attachid>
            <date>2012-10-23 06:36:50 -0700</date>
            <delta_ts>2012-10-23 07:16:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100106-20121023153507.patch</filename>
            <type>text/plain</type>
            <size>14633</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDlhMDg1MDQ3YzY3
OTcwYzU3N2ZmMzU3MGFmY2IzZDE0NjAxOTNlYzQuLmNkZjlkZDQzMjc3NTE4ZmQxZmI3Zjg1Njk1
YzU3NDMzNzQyY2IyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAt
MjMgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAg
ICAgICAgW1F0XSBNYWtlIGRlZmF1bHQgdHlwZXNldHRpbmdzIGNvbmZpZ3VyYWJsZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTA2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IHRoZSBvcHRp
b24gS2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQsIHdoaWNoIGlzIGRlZmF1bHQg
b2ZmLgorCisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0
dGluZ3NQcml2YXRlOjphcHBseSk6CisgICAgICAgIChRV2ViU2V0dGluZ3M6OlFXZWJTZXR0aW5n
cyk6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5oOgorCiAyMDEyLTEwLTIzICBBbmRyYXMg
QmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBkZXZpY2VQ
aXhlbFJhdGlvIGZyb20gVmlld3BvcnRBdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGRiYjA2ZWM5
MTIzYmU5YWE0MzY4MWJkYWZiMjA2MDVjNTcxNmIwYS4uODRhNGVkNThmNzJiY2I4NzNhNjc2OTFj
ODNmYWExNjdkNWEzNDMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEwLTIz
ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAg
ICAgIFtRdF0gTWFrZSBkZWZhdWx0IHR5cGVzZXR0aW5ncyBjb25maWd1cmFibGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDEwNgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmVzIHRoZSBwYXJhbWV0
ZXIgU2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCBmcm9tIE1hYy1vbmx5
IHRvIGJlaW5nCisgICAgICAgIGdlbmVyYWxseSBhdmFpbGFibGUsIGFuZCBkeW5hbWljYWxseSBj
b25maWd1cmFibGUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aDoKKyAgICAgICAgKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6V2Vi
Q29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmNyZWF0ZU5ld1dlYlByb2Nl
c3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpzZXRTaG91bGRFbmFibGVLZXJuaW5n
QW5kTGlnYXR1cmVzQnlEZWZhdWx0KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkNvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvbnRleHQpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Omlu
aXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0U2hv
dWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCk6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViUHJvY2Vz
cyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAyMDEyLTEwLTIzICBN
aWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCiAgICAg
ICAgIFtFRkxdW1dLMl0gTWFrZSBVSSBjbGllbnQgYSBDKysgY2xhc3MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0Fw
aS9xd2Vic2V0dGluZ3MuY3BwCmluZGV4IGJhNzE4N2RmNzAzNGRlYWIyOGQ3NTg5YjgwMDU3YjUx
YWE2ZmViMzMuLjg3ZDgxYzc2YzgyOTI5NzgyZjhlYjk2Y2Y1ZGNkMGExYTM3OGNmMmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1
ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2Vy
LmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkZvbnQuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2luY2x1ZGUgPFFBcHBsaWNhdGlvbj4KQEAgLTI2
Nyw2ICsyNjgsMTQgQEAgdm9pZCBRV2ViU2V0dGluZ3NQcml2YXRlOjphcHBseSgpCiAgICAgICAg
IHNldHRpbmdzLT5zZXRFbmFibGVTY3JvbGxBbmltYXRvcih2YWx1ZSk7CiAjZW5kaWYKIAorICAg
ICAgICB2YWx1ZSA9IGF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpLZXJuaW5nQW5kTGln
YXR1cmVzRW5hYmxlZEJ5RGVmYXVsdCwgZ2xvYmFsLT5hdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0
aW5nczo6S2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQpKTsKKyAgICAgICAgV2Vi
Q29yZTo6VHlwZXNldHRpbmdGZWF0dXJlcyBkZWZhdWx0VHlwZVNldHRpbmdGZWF0dXJlcyA9IFdl
YkNvcmU6OkZvbnQ6OmRlZmF1bHRUeXBlc2V0dGluZ0ZlYXR1cmVzKCk7CisgICAgICAgIGlmICh2
YWx1ZSkKKyAgICAgICAgICAgIGRlZmF1bHRUeXBlU2V0dGluZ0ZlYXR1cmVzIHw9IFdlYkNvcmU6
Oktlcm5pbmcgfCBXZWJDb3JlOjpMaWdhdHVyZXM7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGRlZmF1bHRUeXBlU2V0dGluZ0ZlYXR1cmVzICY9IH4oV2ViQ29yZTo6S2VybmluZyB8IFdlYkNv
cmU6OkxpZ2F0dXJlcyk7CisgICAgICAgIFdlYkNvcmU6OkZvbnQ6OnNldERlZmF1bHRUeXBlc2V0
dGluZ0ZlYXR1cmVzKGRlZmF1bHRUeXBlU2V0dGluZ0ZlYXR1cmVzKTsKKwogICAgICAgICB2YWx1
ZSA9IGF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpTaXRlU3BlY2lmaWNRdWlya3NFbmFi
bGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJp
YnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpTaXRlU3BlY2lmaWNRdWlya3NFbmFibGVkKSk7CiAg
ICAgICAgIHNldHRpbmdzLT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyh2YWx1ZSk7CkBAIC00
ODAsNiArNDg5LDcgQEAgUVdlYlNldHRpbmdzKiBRV2ViU2V0dGluZ3M6Omdsb2JhbFNldHRpbmdz
KCkKICAgICBcdmFsdWUgU2l0ZVNwZWNpZmljUXVpcmtzRW5hYmxlZCBUaGlzIHNldHRpbmcgZW5h
YmxlcyBXZWJLaXQncyB3b3JrYXJvdW5kIGZvciBicm9rZW4gc2l0ZXMuIEl0IGlzCiAgICAgICAg
IGVuYWJsZWQgYnkgZGVmYXVsdC4KICAgICBcdmFsdWUgU2Nyb2xsQW5pbWF0b3JFbmFibGVkIFRo
aXMgc2V0dGluZyBlbmFibGVzIGFuaW1hdGVkIHNjcm9sbGluZy4gSXQgaXMgZGlzYWJsZWQgYnkg
ZGVmYXVsdC4KKyAgICBcdmFsdWUgS2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQg
VGhpcyBzZXR0aW5nIGVuYWJsZXMgZm9udCBrZXJuaW5nIGFuZCBjb21tb24gbGlnYXR1cmVzIGV2
ZXJ5d2hlcmUgdGhleSBoYXZlIG5vdCBiZWVuIGV4cGxpY2l0bHkgZGlzYWJsZWQuIFRoaXMgc2V0
dGluZyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LgogKi8KIAogLyohCkBAIC01MzIsNiArNTQyLDcg
QEAgUVdlYlNldHRpbmdzOjpRV2ViU2V0dGluZ3MoKQogICAgIGQtPmF0dHJpYnV0ZXMuaW5zZXJ0
KFFXZWJTZXR0aW5nczo6RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwgZmFsc2UpOwogICAgIGQtPmF0
dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6U2l0ZVNwZWNpZmljUXVpcmtzRW5hYmxlZCwg
dHJ1ZSk7CiAgICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRpbmdzOjpTY3JvbGxBbmlt
YXRvckVuYWJsZWQsIGZhbHNlKTsKKyAgICBkLT5hdHRyaWJ1dGVzLmluc2VydChRV2ViU2V0dGlu
Z3M6Oktlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkQnlEZWZhdWx0LCBmYWxzZSk7CiAgICAgZC0+
b2ZmbGluZVN0b3JhZ2VEZWZhdWx0UXVvdGEgPSA1ICogMTAyNCAqIDEwMjQ7CiAgICAgZC0+ZGVm
YXVsdFRleHRFbmNvZGluZyA9IFFMYXRpbjFTdHJpbmcoImlzby04ODU5LTEiKTsKICAgICBkLT50
aGlyZFBhcnR5Q29va2llUG9saWN5ID0gQWx3YXlzQWxsb3dUaGlyZFBhcnR5Q29va2llczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oIGIvU291cmNlL1dl
YktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKaW5kZXggNWI2NDk3YWZiNDIzNzQ3MzNlM2M2MjAy
YjNjZDc4NDlkOGE3YjZkMS4uOTg4YTVlNWI5MmQxOGNiMTZkNzk4ODFlMDQ5YTQ5MjNiMmViNjU1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKKysrIGIv
U291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKQEAgLTgwLDcgKzgwLDggQEAgcHVi
bGljOgogICAgICAgICBDU1NSZWdpb25zRW5hYmxlZCwKICAgICAgICAgSHlwZXJsaW5rQXVkaXRp
bmdFbmFibGVkLAogICAgICAgICBDU1NHcmlkTGF5b3V0RW5hYmxlZCwKLSAgICAgICAgU2Nyb2xs
QW5pbWF0b3JFbmFibGVkCisgICAgICAgIFNjcm9sbEFuaW1hdG9yRW5hYmxlZCwKKyAgICAgICAg
S2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQKICAgICB9OwogICAgIGVudW0gV2Vi
R3JhcGhpYyB7CiAgICAgICAgIE1pc3NpbmdJbWFnZUdyYXBoaWMsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXgg
YzNmY2VlNmMyYmQ4YjY3ODRlMzM0MTRmNmI3OWEwZDk4MGQ5NmYyNi4uMzU5ZGNmNDcxYzQ5ZjMy
NTVhMDNhYzY4MmQ4MjE5ZmNlNWFkYzZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNzcsNiArNzcsNyBA
QCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShDb3JlSVBDOjpBcmd1
bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbgogICAgIGVuY29kZXItPmVuY29kZShzaG91bGRUcmFj
a1Zpc2l0ZWRMaW5rcyk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKHNob3VsZEFsd2F5c1VzZUNvbXBs
ZXhUZXh0Q29kZVBhdGgpOwogICAgIGVuY29kZXItPmVuY29kZShzaG91bGRVc2VGb250U21vb3Ro
aW5nKTsKKyAgICBlbmNvZGVyLT5lbmNvZGUoc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJl
c0J5RGVmYXVsdCk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKGljb25EYXRhYmFzZUVuYWJsZWQpOwog
ICAgIGVuY29kZXItPmVuY29kZSh0ZXJtaW5hdGlvblRpbWVvdXQpOwogICAgIGVuY29kZXItPmVu
Y29kZShsYW5ndWFnZXMpOwpAQCAtOTUsNyArOTYsNiBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNv
bgogICAgIGVuY29kZXItPmVuY29kZSh1aVByb2Nlc3NCdW5kbGVSZXNvdXJjZVBhdGgpOwogICAg
IGVuY29kZXItPmVuY29kZSh1aVByb2Nlc3NCdW5kbGVSZXNvdXJjZVBhdGhFeHRlbnNpb25IYW5k
bGUpOwogICAgIGVuY29kZXItPmVuY29kZShzaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRp
b24pOwotICAgIGVuY29kZXItPmVuY29kZShzaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVz
QnlEZWZhdWx0KTsKICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBlbmNvZGVyLT5lbmNvZGUoc2hv
dWxkUGFpbnROYXRpdmVDb250cm9scyk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKGNmVVJMQ2FjaGVE
aXNrQ2FwYWNpdHkpOwpAQCAtMTY2LDYgKzE2Niw4IEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2Vi
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0
ZXJzLnNob3VsZFVzZUZvbnRTbW9vdGhpbmcpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
aWYgKCFkZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5zaG91bGRFbmFibGVLZXJuaW5nQW5kTGln
YXR1cmVzQnlEZWZhdWx0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rl
ci0+ZGVjb2RlKHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNlRW5hYmxlZCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLnRlcm1pbmF0aW9u
VGltZW91dCkpCkBAIC0yMDAsOCArMjAyLDYgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWIKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMu
c2hvdWxkRm9yY2VTY3JlZW5Gb250U3Vic3RpdHV0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlS2Vybmlu
Z0FuZExpZ2F0dXJlc0J5RGVmYXVsdCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKICNlbGlmIFBM
QVRGT1JNKFdJTikKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLnNob3VsZFBh
aW50TmF0aXZlQ29udHJvbHMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCAx
ZjQ4ODAzNjkyNzE4OGM1ODBkNmY2YzdjMDg2MTljYzE0MTU5MTk2Li5iM2UwNDcxOTIyNTA0YmEz
MjQzMTJhODhkOTczOGE4OTNhMmJmMjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTc4LDYgKzc4LDcgQEAgc3Ry
dWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogCiAgICAgYm9vbCBzaG91bGRBbHdh
eXNVc2VDb21wbGV4VGV4dENvZGVQYXRoOwogICAgIGJvb2wgc2hvdWxkVXNlRm9udFNtb290aGlu
ZzsKKyAgICBib29sIHNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQ7CiAK
ICAgICBib29sIGljb25EYXRhYmFzZUVuYWJsZWQ7CiAKQEAgLTEwOSw3ICsxMTAsNiBAQCBzdHJ1
Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlIHVpUHJvY2Vzc0J1bmRsZVJlc291cmNlUGF0aEV4dGVuc2lvbkhhbmRsZTsKIAogICAg
IGJvb2wgc2hvdWxkRm9yY2VTY3JlZW5Gb250U3Vic3RpdHV0aW9uOwotICAgIGJvb2wgc2hvdWxk
RW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdDsKIAogI2VsaWYgUExBVEZPUk0oV0lO
KQogICAgIHVpbnQ2NF90IGNmVVJMQ2FjaGVEaXNrQ2FwYWNpdHk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggNTZhMDE3YzZmYzlhMmQ5MzYzNTFkODM5YjA3OTBh
NTQ4MDk3MDY4NS4uZWI3MDI1NDZlOGZlMzFhM2QyNWJkMjUzZjY0NzViMDk4ZTNmYWNmOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMTIzLDYgKzEyMyw3IEBA
IFdlYkNvbnRleHQ6OldlYkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NNb2RlbCwgY29uc3Qg
U3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhCiAgICAgLCBtX3Zpc2l0ZWRMaW5rUHJvdmlkZXIodGhp
cykKICAgICAsIG1fYWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGgoZmFsc2UpCiAgICAgLCBt
X3Nob3VsZFVzZUZvbnRTbW9vdGhpbmcodHJ1ZSkKKyAgICAsIG1fc2hvdWxkRW5hYmxlS2Vybmlu
Z0FuZExpZ2F0dXJlc0J5RGVmYXVsdChmYWxzZSkKICAgICAsIG1fY2FjaGVNb2RlbChDYWNoZU1v
ZGVsRG9jdW1lbnRWaWV3ZXIpCiAgICAgLCBtX21lbW9yeVNhbXBsZXJFbmFibGVkKGZhbHNlKQog
ICAgICwgbV9tZW1vcnlTYW1wbGVySW50ZXJ2YWwoMTQwMC4wKQpAQCAtMzk4LDYgKzM5OSw4IEBA
IFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBXZWJDb250ZXh0OjpjcmVhdGVOZXdXZWJQcm9j
ZXNzKCkKIAogICAgIHBhcmFtZXRlcnMuZGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWwgPSBX
ZWJVUkxSZXF1ZXN0OjpkZWZhdWx0VGltZW91dEludGVydmFsKCk7CiAKKyAgICBwYXJhbWV0ZXJz
LnNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQgPSBtX3Nob3VsZEVuYWJs
ZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQ7CisKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1fbm90aWZpY2F0aW9uTWFu
YWdlclByb3h5LT5wb3B1bGF0ZUNvcHlPZk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKHBhcmFtZXRl
cnMubm90aWZpY2F0aW9uUGVybWlzc2lvbnMpOwogI2VuZGlmCkBAIC02OTEsNiArNjk0LDEyIEBA
IHZvaWQgV2ViQ29udGV4dDo6c2V0U2hvdWxkVXNlRm9udFNtb290aGluZyhib29sIHVzZUZvbnRT
bW9vdGhpbmcpCiAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpT
ZXRTaG91bGRVc2VGb250U21vb3RoaW5nKHVzZUZvbnRTbW9vdGhpbmcpKTsKIH0KIAordm9pZCBX
ZWJDb250ZXh0OjpzZXRTaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KGJv
b2wgZW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCkKK3sKKyAgICBtX3Nob3VsZEVu
YWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQgPSBlbmFibGVLZXJuaW5nQW5kTGlnYXR1
cmVzQnlEZWZhdWx0OworICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vz
czo6U2V0U2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdChlbmFibGVLZXJu
aW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KSk7Cit9CisKIHZvaWQgV2ViQ29udGV4dDo6cmVnaXN0
ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoY29uc3QgU3RyaW5nJiB1cmxTY2hlbWUpCiB7CiAg
ICAgbV9zY2hlbWVzVG9SZWdpc3RlckFzRW1wdHlEb2N1bWVudC5hZGQodXJsU2NoZW1lKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCmluZGV4IDkzZGM2OGU3MGRjZTI3ZjdlMzVh
NWJlNGJiMzNjYzRkNGMxODNhMDguLjI1OWEwMmMxYzEwYjM0N2FmNmQyM2IwNDkxMjc1NGNlNzMz
MjM3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaApAQCAtMTM2LDcgKzEz
Niw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0QWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBh
dGgoYm9vbCk7CiAgICAgdm9pZCBzZXRTaG91bGRVc2VGb250U21vb3RoaW5nKGJvb2wpOwotICAg
IAorICAgIHZvaWQgc2V0U2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdChi
b29sKTsKKwogICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoY29uc3Qg
U3RyaW5nJik7CiAgICAgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlKGNvbnN0IFN0cmlu
ZyYpOwogICAgIHZvaWQgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShj
b25zdCBTdHJpbmcmKTsKQEAgLTMyOSw2ICszMzAsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBt
X2Fsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoOwogICAgIGJvb2wgbV9zaG91bGRVc2VGb250
U21vb3RoaW5nOworICAgIGJvb2wgbV9zaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlE
ZWZhdWx0OwogCiAgICAgLy8gTWVzc2FnZXMgdGhhdCB3ZXJlIHBvc3RlZCBiZWZvcmUgYW55IHBh
Z2VzIHdlcmUgY3JlYXRlZC4KICAgICAvLyBUaGUgY2xpZW50IHNob3VsZCB1c2UgaW5pdGlhbGl6
YXRpb24gbWVzc2FnZXMgaW5zdGVhZCwgc28gdGhhdCBhIHJlc3RhcnRlZCBwcm9jZXNzIHdvdWxk
IGdldCB0aGUgc2FtZSBzdGF0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IDMzYmU3NTk4OTQzNjEyMjgyNTZlMjJkYjQ0NjMwZmNiNzViNjZkOGEuLmYwODIz
MDZhYjM0MGIxNjY5MzE4MGU0M2M4MzRjY2M1ZWU0OGNkNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMjY0LDYgKzI2NCw5IEBAIHZvaWQgV2ViUHJvY2Vz
czo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1lCiAgICAgaWYgKHBhcmFtZXRlcnMuc2hvdWxkVXNlRm9udFNtb290aGluZykKICAg
ICAgICAgc2V0U2hvdWxkVXNlRm9udFNtb290aGluZyh0cnVlKTsKIAorICAgIGlmIChwYXJhbWV0
ZXJzLnNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQpCisgICAgICAgIHNl
dFNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQodHJ1ZSk7CisKICNpZiBV
U0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCiAgICAgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNl
dFByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UocGFyYW1ldGVycy51
aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyKTsKICNlbmRpZgpAQCAtMzU4LDYgKzM2MSwxMSBAQCB2
b2lkIFdlYlByb2Nlc3M6OnNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcoYm9vbCB1c2VGb250U21v
b3RoaW5nKQogICAgIFdlYkNvcmU6OkZvbnQ6OnNldFNob3VsZFVzZVNtb290aGluZyh1c2VGb250
U21vb3RoaW5nKTsKIH0KIAordm9pZCBXZWJQcm9jZXNzOjpzZXRTaG91bGRFbmFibGVLZXJuaW5n
QW5kTGlnYXR1cmVzQnlEZWZhdWx0KGJvb2wgZW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVm
YXVsdCkKK3sKKyAgICBGb250OjpzZXREZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlcyhlbmFibGVL
ZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0ID8gS2VybmluZyB8IExpZ2F0dXJlcyA6IDApOwor
fQorCiB2b2lkIFdlYlByb2Nlc3M6OnVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnZXMpIGNvbnN0CiB7CiAgICAgb3ZlcnJpZGVVc2VyUHJl
ZmVycmVkTGFuZ3VhZ2VzKGxhbmd1YWdlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oCmluZGV4IDg4YjVmNTc5OTVhYmRiZTdhOGFlN2Y2YThkNjM4NDc5MzBiZjk5ODUuLjBj
ODI3YjUxYjM5OGM4ZmM4ODAzMWU3ZTYwMmM5YTEwOTJhY2ExZDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0yMTUsNiArMjE1LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHNldERlZmF1bHRSZXF1ZXN0VGltZW91dEludGVydmFsKGRvdWJsZSk7CiAgICAgdm9pZCBz
ZXRBbHdheXNVc2VzQ29tcGxleFRleHRDb2RlUGF0aChib29sKTsKICAgICB2b2lkIHNldFNob3Vs
ZFVzZUZvbnRTbW9vdGhpbmcoYm9vbCk7CisgICAgdm9pZCBzZXRTaG91bGRFbmFibGVLZXJuaW5n
QW5kTGlnYXR1cmVzQnlEZWZhdWx0KGJvb2wpOwogICAgIHZvaWQgdXNlclByZWZlcnJlZExhbmd1
YWdlc0NoYW5nZWQoY29uc3QgVmVjdG9yPFN0cmluZz4mKSBjb25zdDsKICAgICB2b2lkIGZ1bGxL
ZXlib2FyZEFjY2Vzc01vZGVDaGFuZ2VkKGJvb2wgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCk7
CiAjaWYgUExBVEZPUk0oV0lOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDJjYzFlNjI4MDQ2MzI4MTMxMTQwNThmYWNiZWExNTAw
NTczNWNjMjQuLmI3NWI5NDRkNDllMDFhMTc4OWYwNWQwMDMxYjMwNzM1MGM3YjIwZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAg
LTQ5LDYgKzQ5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyB7CiAgICAgU2V0RGVmYXVsdFJl
cXVlc3RUaW1lb3V0SW50ZXJ2YWwoZG91YmxlIHRpbWVvdXRJbnRlcnZhbCkKICAgICBTZXRBbHdh
eXNVc2VzQ29tcGxleFRleHRDb2RlUGF0aChib29sIGFsd2F5c1VzZUNvbXBsZXhUZXh0KQogICAg
IFNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcoYm9vbCB1c2VGb250U21vb3RoaW5nKQorICAgIFNl
dFNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQoYm9vbCBlbmFibGVLZXJu
aW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KQogICAgIFVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFu
Z2VkKFZlY3RvcjxXVEY6OlN0cmluZz4gbGFuZ3VhZ2VzKQogICAgIEZ1bGxLZXlib2FyZEFjY2Vz
c01vZGVDaGFuZ2VkKGJvb2wgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCkKICNpZiBQTEFURk9S
TShXSU4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9j
ZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5t
bQppbmRleCAxMDc2NmQyY2MzZGMzODg4ZWE1MTNjYTg1MGRhODllYTg0NDRlOWUxLi5lMjJlZjdh
ZGE5ODM1ZDU5YTgzNTdiNGE1NTY1YWJlNDZhYTgzYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0KQEAgLTI3Myw3ICsyNzMsNiBAQCB2b2lk
IFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycwogICAgIH0KIAogICAgIG1fc2hvdWxkRm9yY2VTY3JlZW5Gb250
U3Vic3RpdHV0aW9uID0gcGFyYW1ldGVycy5zaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRp
b247Ci0gICAgRm9udDo6c2V0RGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMocGFyYW1ldGVycy5z
aG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0ID8gS2VybmluZyB8IExpZ2F0
dXJlcyA6IDApOwogCiAgICAgbV9jb21wb3NpdGluZ1JlbmRlclNlcnZlclBvcnQgPSBwYXJhbWV0
ZXJzLmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdQb3J0LnBvcnQoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170157</attachid>
            <date>2012-10-23 07:16:50 -0700</date>
            <delta_ts>2012-10-23 09:07:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100106-20121023161507.patch</filename>
            <type>text/plain</type>
            <size>15197</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDlhMDg1MDQ3YzY3
OTcwYzU3N2ZmMzU3MGFmY2IzZDE0NjAxOTNlYzQuLmNkZjlkZDQzMjc3NTE4ZmQxZmI3Zjg1Njk1
YzU3NDMzNzQyY2IyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAt
MjMgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAg
ICAgICAgW1F0XSBNYWtlIGRlZmF1bHQgdHlwZXNldHRpbmdzIGNvbmZpZ3VyYWJsZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTA2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IHRoZSBvcHRp
b24gS2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQsIHdoaWNoIGlzIGRlZmF1bHQg
b2ZmLgorCisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0
dGluZ3NQcml2YXRlOjphcHBseSk6CisgICAgICAgIChRV2ViU2V0dGluZ3M6OlFXZWJTZXR0aW5n
cyk6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5oOgorCiAyMDEyLTEwLTIzICBBbmRyYXMg
QmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBkZXZpY2VQ
aXhlbFJhdGlvIGZyb20gVmlld3BvcnRBdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGRiYjA2ZWM5
MTIzYmU5YWE0MzY4MWJkYWZiMjA2MDVjNTcxNmIwYS4uODRhNGVkNThmNzJiY2I4NzNhNjc2OTFj
ODNmYWExNjdkNWEzNDMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEwLTIz
ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAg
ICAgIFtRdF0gTWFrZSBkZWZhdWx0IHR5cGVzZXR0aW5ncyBjb25maWd1cmFibGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDEwNgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmVzIHRoZSBwYXJhbWV0
ZXIgU2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCBmcm9tIE1hYy1vbmx5
IHRvIGJlaW5nCisgICAgICAgIGdlbmVyYWxseSBhdmFpbGFibGUsIGFuZCBkeW5hbWljYWxseSBj
b25maWd1cmFibGUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aDoKKyAgICAgICAgKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6V2Vi
Q29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmNyZWF0ZU5ld1dlYlByb2Nl
c3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpzZXRTaG91bGRFbmFibGVLZXJuaW5n
QW5kTGlnYXR1cmVzQnlEZWZhdWx0KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkNvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvbnRleHQpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Omlu
aXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0U2hv
dWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCk6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViUHJvY2Vz
cyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAyMDEyLTEwLTIzICBN
aWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCiAgICAg
ICAgIFtFRkxdW1dLMl0gTWFrZSBVSSBjbGllbnQgYSBDKysgY2xhc3MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0Fw
aS9xd2Vic2V0dGluZ3MuY3BwCmluZGV4IGJhNzE4N2RmNzAzNGRlYWIyOGQ3NTg5YjgwMDU3YjUx
YWE2ZmViMzMuLjg3ZDgxYzc2YzgyOTI5NzgyZjhlYjk2Y2Y1ZGNkMGExYTM3OGNmMmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1
ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2Vy
LmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkZvbnQuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2luY2x1ZGUgPFFBcHBsaWNhdGlvbj4KQEAgLTI2
Nyw2ICsyNjgsMTQgQEAgdm9pZCBRV2ViU2V0dGluZ3NQcml2YXRlOjphcHBseSgpCiAgICAgICAg
IHNldHRpbmdzLT5zZXRFbmFibGVTY3JvbGxBbmltYXRvcih2YWx1ZSk7CiAjZW5kaWYKIAorICAg
ICAgICB2YWx1ZSA9IGF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpLZXJuaW5nQW5kTGln
YXR1cmVzRW5hYmxlZEJ5RGVmYXVsdCwgZ2xvYmFsLT5hdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0
aW5nczo6S2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQpKTsKKyAgICAgICAgV2Vi
Q29yZTo6VHlwZXNldHRpbmdGZWF0dXJlcyBkZWZhdWx0VHlwZVNldHRpbmdGZWF0dXJlcyA9IFdl
YkNvcmU6OkZvbnQ6OmRlZmF1bHRUeXBlc2V0dGluZ0ZlYXR1cmVzKCk7CisgICAgICAgIGlmICh2
YWx1ZSkKKyAgICAgICAgICAgIGRlZmF1bHRUeXBlU2V0dGluZ0ZlYXR1cmVzIHw9IFdlYkNvcmU6
Oktlcm5pbmcgfCBXZWJDb3JlOjpMaWdhdHVyZXM7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGRlZmF1bHRUeXBlU2V0dGluZ0ZlYXR1cmVzICY9IH4oV2ViQ29yZTo6S2VybmluZyB8IFdlYkNv
cmU6OkxpZ2F0dXJlcyk7CisgICAgICAgIFdlYkNvcmU6OkZvbnQ6OnNldERlZmF1bHRUeXBlc2V0
dGluZ0ZlYXR1cmVzKGRlZmF1bHRUeXBlU2V0dGluZ0ZlYXR1cmVzKTsKKwogICAgICAgICB2YWx1
ZSA9IGF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpTaXRlU3BlY2lmaWNRdWlya3NFbmFi
bGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJp
YnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpTaXRlU3BlY2lmaWNRdWlya3NFbmFibGVkKSk7CiAg
ICAgICAgIHNldHRpbmdzLT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyh2YWx1ZSk7CkBAIC00
ODAsNiArNDg5LDcgQEAgUVdlYlNldHRpbmdzKiBRV2ViU2V0dGluZ3M6Omdsb2JhbFNldHRpbmdz
KCkKICAgICBcdmFsdWUgU2l0ZVNwZWNpZmljUXVpcmtzRW5hYmxlZCBUaGlzIHNldHRpbmcgZW5h
YmxlcyBXZWJLaXQncyB3b3JrYXJvdW5kIGZvciBicm9rZW4gc2l0ZXMuIEl0IGlzCiAgICAgICAg
IGVuYWJsZWQgYnkgZGVmYXVsdC4KICAgICBcdmFsdWUgU2Nyb2xsQW5pbWF0b3JFbmFibGVkIFRo
aXMgc2V0dGluZyBlbmFibGVzIGFuaW1hdGVkIHNjcm9sbGluZy4gSXQgaXMgZGlzYWJsZWQgYnkg
ZGVmYXVsdC4KKyAgICBcdmFsdWUgS2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQg
VGhpcyBzZXR0aW5nIGVuYWJsZXMgZm9udCBrZXJuaW5nIGFuZCBjb21tb24gbGlnYXR1cmVzIGV2
ZXJ5d2hlcmUgdGhleSBoYXZlIG5vdCBiZWVuIGV4cGxpY2l0bHkgZGlzYWJsZWQuIFRoaXMgc2V0
dGluZyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LgogKi8KIAogLyohCkBAIC01MzIsNiArNTQyLDcg
QEAgUVdlYlNldHRpbmdzOjpRV2ViU2V0dGluZ3MoKQogICAgIGQtPmF0dHJpYnV0ZXMuaW5zZXJ0
KFFXZWJTZXR0aW5nczo6RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwgZmFsc2UpOwogICAgIGQtPmF0
dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6U2l0ZVNwZWNpZmljUXVpcmtzRW5hYmxlZCwg
dHJ1ZSk7CiAgICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRpbmdzOjpTY3JvbGxBbmlt
YXRvckVuYWJsZWQsIGZhbHNlKTsKKyAgICBkLT5hdHRyaWJ1dGVzLmluc2VydChRV2ViU2V0dGlu
Z3M6Oktlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkQnlEZWZhdWx0LCBmYWxzZSk7CiAgICAgZC0+
b2ZmbGluZVN0b3JhZ2VEZWZhdWx0UXVvdGEgPSA1ICogMTAyNCAqIDEwMjQ7CiAgICAgZC0+ZGVm
YXVsdFRleHRFbmNvZGluZyA9IFFMYXRpbjFTdHJpbmcoImlzby04ODU5LTEiKTsKICAgICBkLT50
aGlyZFBhcnR5Q29va2llUG9saWN5ID0gQWx3YXlzQWxsb3dUaGlyZFBhcnR5Q29va2llczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oIGIvU291cmNlL1dl
YktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKaW5kZXggNWI2NDk3YWZiNDIzNzQ3MzNlM2M2MjAy
YjNjZDc4NDlkOGE3YjZkMS4uOTg4YTVlNWI5MmQxOGNiMTZkNzk4ODFlMDQ5YTQ5MjNiMmViNjU1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKKysrIGIv
U291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKQEAgLTgwLDcgKzgwLDggQEAgcHVi
bGljOgogICAgICAgICBDU1NSZWdpb25zRW5hYmxlZCwKICAgICAgICAgSHlwZXJsaW5rQXVkaXRp
bmdFbmFibGVkLAogICAgICAgICBDU1NHcmlkTGF5b3V0RW5hYmxlZCwKLSAgICAgICAgU2Nyb2xs
QW5pbWF0b3JFbmFibGVkCisgICAgICAgIFNjcm9sbEFuaW1hdG9yRW5hYmxlZCwKKyAgICAgICAg
S2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQKICAgICB9OwogICAgIGVudW0gV2Vi
R3JhcGhpYyB7CiAgICAgICAgIE1pc3NpbmdJbWFnZUdyYXBoaWMsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXgg
YzNmY2VlNmMyYmQ4YjY3ODRlMzM0MTRmNmI3OWEwZDk4MGQ5NmYyNi4uZmRhZTI5ZDBjYWExNzc4
NjFkMTM5ODk2MTQ2NTBjOGY2ZGI1MDExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtMzcsMTIgKzM3LDEy
IEBAIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMoKQogICAgIDogc2hvdWxkVHJhY2tWaXNpdGVkTGlua3MoZmFsc2UpCiAgICAgLCBzaG91
bGRBbHdheXNVc2VDb21wbGV4VGV4dENvZGVQYXRoKGZhbHNlKQogICAgICwgc2hvdWxkVXNlRm9u
dFNtb290aGluZyh0cnVlKQorICAgICwgc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5
RGVmYXVsdChmYWxzZSkKICAgICAsIGRlZmF1bHRSZXF1ZXN0VGltZW91dEludGVydmFsKElOVF9N
QVgpCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICwgbnNVUkxDYWNoZU1lbW9yeUNhcGFjaXR5KDAp
CiAgICAgLCBuc1VSTENhY2hlRGlza0NhcGFjaXR5KDApCiAgICAgLCBzaG91bGRGb3JjZVNjcmVl
bkZvbnRTdWJzdGl0dXRpb24oZmFsc2UpCi0gICAgLCBzaG91bGRFbmFibGVLZXJuaW5nQW5kTGln
YXR1cmVzQnlEZWZhdWx0KGZhbHNlKQogI2VsaWYgUExBVEZPUk0oV0lOKQogICAgICwgc2hvdWxk
UGFpbnROYXRpdmVDb250cm9scyhmYWxzZSkKICNlbmRpZgpAQCAtNzcsNiArNzcsNyBAQCB2b2lk
IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVu
Y29kZXIqIGVuY29kZXIpIGNvbgogICAgIGVuY29kZXItPmVuY29kZShzaG91bGRUcmFja1Zpc2l0
ZWRMaW5rcyk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKHNob3VsZEFsd2F5c1VzZUNvbXBsZXhUZXh0
Q29kZVBhdGgpOwogICAgIGVuY29kZXItPmVuY29kZShzaG91bGRVc2VGb250U21vb3RoaW5nKTsK
KyAgICBlbmNvZGVyLT5lbmNvZGUoc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVm
YXVsdCk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKGljb25EYXRhYmFzZUVuYWJsZWQpOwogICAgIGVu
Y29kZXItPmVuY29kZSh0ZXJtaW5hdGlvblRpbWVvdXQpOwogICAgIGVuY29kZXItPmVuY29kZShs
YW5ndWFnZXMpOwpAQCAtOTUsNyArOTYsNiBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnM6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbgogICAg
IGVuY29kZXItPmVuY29kZSh1aVByb2Nlc3NCdW5kbGVSZXNvdXJjZVBhdGgpOwogICAgIGVuY29k
ZXItPmVuY29kZSh1aVByb2Nlc3NCdW5kbGVSZXNvdXJjZVBhdGhFeHRlbnNpb25IYW5kbGUpOwog
ICAgIGVuY29kZXItPmVuY29kZShzaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRpb24pOwot
ICAgIGVuY29kZXItPmVuY29kZShzaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZh
dWx0KTsKICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBlbmNvZGVyLT5lbmNvZGUoc2hvdWxkUGFp
bnROYXRpdmVDb250cm9scyk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKGNmVVJMQ2FjaGVEaXNrQ2Fw
YWNpdHkpOwpAQCAtMTY2LDYgKzE2Niw4IEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVyczo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2ViCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLnNo
b3VsZFVzZUZvbnRTbW9vdGhpbmcpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFk
ZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5zaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVz
QnlEZWZhdWx0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci0+ZGVj
b2RlKHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNlRW5hYmxlZCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91
dCkpCkBAIC0yMDAsOCArMjAyLDYgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWIKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuc2hvdWxk
Rm9yY2VTY3JlZW5Gb250U3Vic3RpdHV0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlS2VybmluZ0FuZExp
Z2F0dXJlc0J5RGVmYXVsdCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKICNlbGlmIFBMQVRGT1JN
KFdJTikKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLnNob3VsZFBhaW50TmF0
aXZlQ29udHJvbHMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCAxZjQ4ODAz
NjkyNzE4OGM1ODBkNmY2YzdjMDg2MTljYzE0MTU5MTk2Li5iM2UwNDcxOTIyNTA0YmEzMjQzMTJh
ODhkOTczOGE4OTNhMmJmMjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTc4LDYgKzc4LDcgQEAgc3RydWN0IFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogCiAgICAgYm9vbCBzaG91bGRBbHdheXNVc2VD
b21wbGV4VGV4dENvZGVQYXRoOwogICAgIGJvb2wgc2hvdWxkVXNlRm9udFNtb290aGluZzsKKyAg
ICBib29sIHNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQ7CiAKICAgICBi
b29sIGljb25EYXRhYmFzZUVuYWJsZWQ7CiAKQEAgLTEwOSw3ICsxMTAsNiBAQCBzdHJ1Y3QgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
IHVpUHJvY2Vzc0J1bmRsZVJlc291cmNlUGF0aEV4dGVuc2lvbkhhbmRsZTsKIAogICAgIGJvb2wg
c2hvdWxkRm9yY2VTY3JlZW5Gb250U3Vic3RpdHV0aW9uOwotICAgIGJvb2wgc2hvdWxkRW5hYmxl
S2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdDsKIAogI2VsaWYgUExBVEZPUk0oV0lOKQogICAg
IHVpbnQ2NF90IGNmVVJMQ2FjaGVEaXNrQ2FwYWNpdHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5jcHAKaW5kZXggNTZhMDE3YzZmYzlhMmQ5MzYzNTFkODM5YjA3OTBhNTQ4MDk3
MDY4NS4uZWI3MDI1NDZlOGZlMzFhM2QyNWJkMjUzZjY0NzViMDk4ZTNmYWNmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMTIzLDYgKzEyMyw3IEBAIFdlYkNv
bnRleHQ6OldlYkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NNb2RlbCwgY29uc3QgU3RyaW5n
JiBpbmplY3RlZEJ1bmRsZVBhCiAgICAgLCBtX3Zpc2l0ZWRMaW5rUHJvdmlkZXIodGhpcykKICAg
ICAsIG1fYWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGgoZmFsc2UpCiAgICAgLCBtX3Nob3Vs
ZFVzZUZvbnRTbW9vdGhpbmcodHJ1ZSkKKyAgICAsIG1fc2hvdWxkRW5hYmxlS2VybmluZ0FuZExp
Z2F0dXJlc0J5RGVmYXVsdChmYWxzZSkKICAgICAsIG1fY2FjaGVNb2RlbChDYWNoZU1vZGVsRG9j
dW1lbnRWaWV3ZXIpCiAgICAgLCBtX21lbW9yeVNhbXBsZXJFbmFibGVkKGZhbHNlKQogICAgICwg
bV9tZW1vcnlTYW1wbGVySW50ZXJ2YWwoMTQwMC4wKQpAQCAtMzk4LDYgKzM5OSw4IEBAIFBhc3NS
ZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBXZWJDb250ZXh0OjpjcmVhdGVOZXdXZWJQcm9jZXNzKCkK
IAogICAgIHBhcmFtZXRlcnMuZGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWwgPSBXZWJVUkxS
ZXF1ZXN0OjpkZWZhdWx0VGltZW91dEludGVydmFsKCk7CiAKKyAgICBwYXJhbWV0ZXJzLnNob3Vs
ZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQgPSBtX3Nob3VsZEVuYWJsZUtlcm5p
bmdBbmRMaWdhdHVyZXNCeURlZmF1bHQ7CisKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1fbm90aWZpY2F0aW9uTWFuYWdlclBy
b3h5LT5wb3B1bGF0ZUNvcHlPZk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKHBhcmFtZXRlcnMubm90
aWZpY2F0aW9uUGVybWlzc2lvbnMpOwogI2VuZGlmCkBAIC02OTEsNiArNjk0LDEyIEBAIHZvaWQg
V2ViQ29udGV4dDo6c2V0U2hvdWxkVXNlRm9udFNtb290aGluZyhib29sIHVzZUZvbnRTbW9vdGhp
bmcpCiAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRTaG91
bGRVc2VGb250U21vb3RoaW5nKHVzZUZvbnRTbW9vdGhpbmcpKTsKIH0KIAordm9pZCBXZWJDb250
ZXh0OjpzZXRTaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KGJvb2wgZW5h
YmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCkKK3sKKyAgICBtX3Nob3VsZEVuYWJsZUtl
cm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQgPSBlbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlE
ZWZhdWx0OworICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0
U2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdChlbmFibGVLZXJuaW5nQW5k
TGlnYXR1cmVzQnlEZWZhdWx0KSk7Cit9CisKIHZvaWQgV2ViQ29udGV4dDo6cmVnaXN0ZXJVUkxT
Y2hlbWVBc0VtcHR5RG9jdW1lbnQoY29uc3QgU3RyaW5nJiB1cmxTY2hlbWUpCiB7CiAgICAgbV9z
Y2hlbWVzVG9SZWdpc3RlckFzRW1wdHlEb2N1bWVudC5hZGQodXJsU2NoZW1lKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCmluZGV4IDkzZGM2OGU3MGRjZTI3ZjdlMzVhNWJlNGJi
MzNjYzRkNGMxODNhMDguLjI1OWEwMmMxYzEwYjM0N2FmNmQyM2IwNDkxMjc1NGNlNzMzMjM3YWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaApAQCAtMTM2LDcgKzEzNiw4IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgc2V0QWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGgoYm9v
bCk7CiAgICAgdm9pZCBzZXRTaG91bGRVc2VGb250U21vb3RoaW5nKGJvb2wpOwotICAgIAorICAg
IHZvaWQgc2V0U2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdChib29sKTsK
KwogICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoY29uc3QgU3RyaW5n
Jik7CiAgICAgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlKGNvbnN0IFN0cmluZyYpOwog
ICAgIHZvaWQgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShjb25zdCBT
dHJpbmcmKTsKQEAgLTMyOSw2ICszMzAsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2Fsd2F5
c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoOwogICAgIGJvb2wgbV9zaG91bGRVc2VGb250U21vb3Ro
aW5nOworICAgIGJvb2wgbV9zaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0
OwogCiAgICAgLy8gTWVzc2FnZXMgdGhhdCB3ZXJlIHBvc3RlZCBiZWZvcmUgYW55IHBhZ2VzIHdl
cmUgY3JlYXRlZC4KICAgICAvLyBUaGUgY2xpZW50IHNob3VsZCB1c2UgaW5pdGlhbGl6YXRpb24g
bWVzc2FnZXMgaW5zdGVhZCwgc28gdGhhdCBhIHJlc3RhcnRlZCBwcm9jZXNzIHdvdWxkIGdldCB0
aGUgc2FtZSBzdGF0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmlu
ZGV4IDMzYmU3NTk4OTQzNjEyMjgyNTZlMjJkYjQ0NjMwZmNiNzViNjZkOGEuLmYwODIzMDZhYjM0
MGIxNjY5MzE4MGU0M2M4MzRjY2M1ZWU0OGNkNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcApAQCAtMjY0LDYgKzI2NCw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5p
dGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFy
YW1lCiAgICAgaWYgKHBhcmFtZXRlcnMuc2hvdWxkVXNlRm9udFNtb290aGluZykKICAgICAgICAg
c2V0U2hvdWxkVXNlRm9udFNtb290aGluZyh0cnVlKTsKIAorICAgIGlmIChwYXJhbWV0ZXJzLnNo
b3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQpCisgICAgICAgIHNldFNob3Vs
ZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQodHJ1ZSk7CisKICNpZiBVU0UoQ0ZV
UkxTVE9SQUdFU0VTU0lPTlMpCiAgICAgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNldFByaXZh
dGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UocGFyYW1ldGVycy51aVByb2Nl
c3NCdW5kbGVJZGVudGlmaWVyKTsKICNlbmRpZgpAQCAtMzU4LDYgKzM2MSwxMSBAQCB2b2lkIFdl
YlByb2Nlc3M6OnNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcoYm9vbCB1c2VGb250U21vb3RoaW5n
KQogICAgIFdlYkNvcmU6OkZvbnQ6OnNldFNob3VsZFVzZVNtb290aGluZyh1c2VGb250U21vb3Ro
aW5nKTsKIH0KIAordm9pZCBXZWJQcm9jZXNzOjpzZXRTaG91bGRFbmFibGVLZXJuaW5nQW5kTGln
YXR1cmVzQnlEZWZhdWx0KGJvb2wgZW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCkK
K3sKKyAgICBGb250OjpzZXREZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlcyhlbmFibGVLZXJuaW5n
QW5kTGlnYXR1cmVzQnlEZWZhdWx0ID8gS2VybmluZyB8IExpZ2F0dXJlcyA6IDApOworfQorCiB2
b2lkIFdlYlByb2Nlc3M6OnVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBsYW5ndWFnZXMpIGNvbnN0CiB7CiAgICAgb3ZlcnJpZGVVc2VyUHJlZmVycmVk
TGFuZ3VhZ2VzKGxhbmd1YWdlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
CmluZGV4IDg4YjVmNTc5OTVhYmRiZTdhOGFlN2Y2YThkNjM4NDc5MzBiZjk5ODUuLjBjODI3YjUx
YjM5OGM4ZmM4ODAzMWU3ZTYwMmM5YTEwOTJhY2ExZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCkBAIC0yMTUsNiArMjE1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNl
dERlZmF1bHRSZXF1ZXN0VGltZW91dEludGVydmFsKGRvdWJsZSk7CiAgICAgdm9pZCBzZXRBbHdh
eXNVc2VzQ29tcGxleFRleHRDb2RlUGF0aChib29sKTsKICAgICB2b2lkIHNldFNob3VsZFVzZUZv
bnRTbW9vdGhpbmcoYm9vbCk7CisgICAgdm9pZCBzZXRTaG91bGRFbmFibGVLZXJuaW5nQW5kTGln
YXR1cmVzQnlEZWZhdWx0KGJvb2wpOwogICAgIHZvaWQgdXNlclByZWZlcnJlZExhbmd1YWdlc0No
YW5nZWQoY29uc3QgVmVjdG9yPFN0cmluZz4mKSBjb25zdDsKICAgICB2b2lkIGZ1bGxLZXlib2Fy
ZEFjY2Vzc01vZGVDaGFuZ2VkKGJvb2wgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCk7CiAjaWYg
UExBVEZPUk0oV0lOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluCmluZGV4IDJjYzFlNjI4MDQ2MzI4MTMxMTQwNThmYWNiZWExNTAwNTczNWNj
MjQuLmI3NWI5NDRkNDllMDFhMTc4OWYwNWQwMDMxYjMwNzM1MGM3YjIwZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTQ5LDYg
KzQ5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyB7CiAgICAgU2V0RGVmYXVsdFJlcXVlc3RU
aW1lb3V0SW50ZXJ2YWwoZG91YmxlIHRpbWVvdXRJbnRlcnZhbCkKICAgICBTZXRBbHdheXNVc2Vz
Q29tcGxleFRleHRDb2RlUGF0aChib29sIGFsd2F5c1VzZUNvbXBsZXhUZXh0KQogICAgIFNldFNo
b3VsZFVzZUZvbnRTbW9vdGhpbmcoYm9vbCB1c2VGb250U21vb3RoaW5nKQorICAgIFNldFNob3Vs
ZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQoYm9vbCBlbmFibGVLZXJuaW5nQW5k
TGlnYXR1cmVzQnlEZWZhdWx0KQogICAgIFVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKFZl
Y3RvcjxXVEY6OlN0cmluZz4gbGFuZ3VhZ2VzKQogICAgIEZ1bGxLZXlib2FyZEFjY2Vzc01vZGVD
aGFuZ2VkKGJvb2wgZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCkKICNpZiBQTEFURk9STShXSU4p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFj
Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbQppbmRl
eCAxMDc2NmQyY2MzZGMzODg4ZWE1MTNjYTg1MGRhODllYTg0NDRlOWUxLi5lMjJlZjdhZGE5ODM1
ZDU5YTgzNTdiNGE1NTY1YWJlNDZhYTgzYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0KQEAgLTI3Myw3ICsyNzMsNiBAQCB2b2lkIFdlYlBy
b2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycwogICAgIH0KIAogICAgIG1fc2hvdWxkRm9yY2VTY3JlZW5Gb250U3Vic3Rp
dHV0aW9uID0gcGFyYW1ldGVycy5zaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRpb247Ci0g
ICAgRm9udDo6c2V0RGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMocGFyYW1ldGVycy5zaG91bGRF
bmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0ID8gS2VybmluZyB8IExpZ2F0dXJlcyA6
IDApOwogCiAgICAgbV9jb21wb3NpdGluZ1JlbmRlclNlcnZlclBvcnQgPSBwYXJhbWV0ZXJzLmFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdQb3J0LnBvcnQoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170176</attachid>
            <date>2012-10-23 09:07:55 -0700</date>
            <delta_ts>2012-10-29 04:20:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100106-20121023180612.patch</filename>
            <type>text/plain</type>
            <size>18681</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDlhMDg1MDQ3YzY3
OTcwYzU3N2ZmMzU3MGFmY2IzZDE0NjAxOTNlYzQuLmNkZjlkZDQzMjc3NTE4ZmQxZmI3Zjg1Njk1
YzU3NDMzNzQyY2IyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAt
MjMgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAg
ICAgICAgW1F0XSBNYWtlIGRlZmF1bHQgdHlwZXNldHRpbmdzIGNvbmZpZ3VyYWJsZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTA2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IHRoZSBvcHRp
b24gS2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQsIHdoaWNoIGlzIGRlZmF1bHQg
b2ZmLgorCisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0
dGluZ3NQcml2YXRlOjphcHBseSk6CisgICAgICAgIChRV2ViU2V0dGluZ3M6OlFXZWJTZXR0aW5n
cyk6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5oOgorCiAyMDEyLTEwLTIzICBBbmRyYXMg
QmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBkZXZpY2VQ
aXhlbFJhdGlvIGZyb20gVmlld3BvcnRBdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTlkY2MwNDhi
YTVhNDY4MGM0NzZhNWZkOWMzYWMwNWQ4OTRiYjg1NS4uM2JiMGFmMWIxYmQyOGMxNGU3MTFmYTIy
ZWI4MjhhNWVkYzBmNTgwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTEwLTIz
ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAg
ICAgIFtRdF0gTWFrZSBkZWZhdWx0IHR5cGVzZXR0aW5ncyBjb25maWd1cmFibGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDEwNgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmVzIHRoZSBwYXJhbWV0
ZXIgU2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCBmcm9tIE1hYy1vbmx5
IHRvIGJlaW5nCisgICAgICAgIGdlbmVyYWxseSBhdmFpbGFibGUsIGFuZCBkeW5hbWljYWxseSBj
b25maWd1cmFibGUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aDoKKyAgICAgICAgKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6V2Vi
Q29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmNyZWF0ZU5ld1dlYlByb2Nl
c3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpzZXRTaG91bGRFbmFibGVLZXJuaW5n
QW5kTGlnYXR1cmVzQnlEZWZhdWx0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5o
OgorICAgICAgICAoV2ViQ29udGV4dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3Mp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRTaG91bGRFbmFibGVLZXJuaW5nQW5k
TGlnYXR1cmVzQnlEZWZhdWx0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoK
KyAgICAgICAgKFdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNz
KToKKwogMjAxMi0xMC0yMyAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBpbnRlbC5jb20+CiAK
ICAgICAgICAgW0VGTF1bV0syXSBVc2UgdGhlIHBvcnQgaW5kZXBlbmRlbnQgUGFnZVZpZXdwb3J0
Q29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKaW5kZXggYmE3MTg3
ZGY3MDM0ZGVhYjI4ZDc1ODliODAwNTdiNTFhYTZmZWIzMy4uODdkODFjNzZjODI5Mjk3ODJmOGVi
OTZjZjVkY2QwYTFhMzc4Y2YyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdl
YnNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3Bw
CkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIK
ICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCisj
aW5jbHVkZSAiRm9udC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaW5j
bHVkZSA8UUFwcGxpY2F0aW9uPgpAQCAtMjY3LDYgKzI2OCwxNCBAQCB2b2lkIFFXZWJTZXR0aW5n
c1ByaXZhdGU6OmFwcGx5KCkKICAgICAgICAgc2V0dGluZ3MtPnNldEVuYWJsZVNjcm9sbEFuaW1h
dG9yKHZhbHVlKTsKICNlbmRpZgogCisgICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShR
V2ViU2V0dGluZ3M6Oktlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkQnlEZWZhdWx0LCBnbG9iYWwt
PmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpLZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxl
ZEJ5RGVmYXVsdCkpOworICAgICAgICBXZWJDb3JlOjpUeXBlc2V0dGluZ0ZlYXR1cmVzIGRlZmF1
bHRUeXBlU2V0dGluZ0ZlYXR1cmVzID0gV2ViQ29yZTo6Rm9udDo6ZGVmYXVsdFR5cGVzZXR0aW5n
RmVhdHVyZXMoKTsKKyAgICAgICAgaWYgKHZhbHVlKQorICAgICAgICAgICAgZGVmYXVsdFR5cGVT
ZXR0aW5nRmVhdHVyZXMgfD0gV2ViQ29yZTo6S2VybmluZyB8IFdlYkNvcmU6OkxpZ2F0dXJlczsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGVmYXVsdFR5cGVTZXR0aW5nRmVhdHVyZXMgJj0g
fihXZWJDb3JlOjpLZXJuaW5nIHwgV2ViQ29yZTo6TGlnYXR1cmVzKTsKKyAgICAgICAgV2ViQ29y
ZTo6Rm9udDo6c2V0RGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMoZGVmYXVsdFR5cGVTZXR0aW5n
RmVhdHVyZXMpOworCiAgICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGlu
Z3M6OlNpdGVTcGVjaWZpY1F1aXJrc0VuYWJsZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGdsb2JhbC0+YXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OlNpdGVT
cGVjaWZpY1F1aXJrc0VuYWJsZWQpKTsKICAgICAgICAgc2V0dGluZ3MtPnNldE5lZWRzU2l0ZVNw
ZWNpZmljUXVpcmtzKHZhbHVlKTsKQEAgLTQ4MCw2ICs0ODksNyBAQCBRV2ViU2V0dGluZ3MqIFFX
ZWJTZXR0aW5nczo6Z2xvYmFsU2V0dGluZ3MoKQogICAgIFx2YWx1ZSBTaXRlU3BlY2lmaWNRdWly
a3NFbmFibGVkIFRoaXMgc2V0dGluZyBlbmFibGVzIFdlYktpdCdzIHdvcmthcm91bmQgZm9yIGJy
b2tlbiBzaXRlcy4gSXQgaXMKICAgICAgICAgZW5hYmxlZCBieSBkZWZhdWx0LgogICAgIFx2YWx1
ZSBTY3JvbGxBbmltYXRvckVuYWJsZWQgVGhpcyBzZXR0aW5nIGVuYWJsZXMgYW5pbWF0ZWQgc2Ny
b2xsaW5nLiBJdCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LgorICAgIFx2YWx1ZSBLZXJuaW5nQW5k
TGlnYXR1cmVzRW5hYmxlZEJ5RGVmYXVsdCBUaGlzIHNldHRpbmcgZW5hYmxlcyBmb250IGtlcm5p
bmcgYW5kIGNvbW1vbiBsaWdhdHVyZXMgZXZlcnl3aGVyZSB0aGV5IGhhdmUgbm90IGJlZW4gZXhw
bGljaXRseSBkaXNhYmxlZC4gVGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuCiAq
LwogCiAvKiEKQEAgLTUzMiw2ICs1NDIsNyBAQCBRV2ViU2V0dGluZ3M6OlFXZWJTZXR0aW5ncygp
CiAgICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRpbmdzOjpGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkLCBmYWxzZSk7CiAgICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRpbmdzOjpT
aXRlU3BlY2lmaWNRdWlya3NFbmFibGVkLCB0cnVlKTsKICAgICBkLT5hdHRyaWJ1dGVzLmluc2Vy
dChRV2ViU2V0dGluZ3M6OlNjcm9sbEFuaW1hdG9yRW5hYmxlZCwgZmFsc2UpOworICAgIGQtPmF0
dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6S2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRC
eURlZmF1bHQsIGZhbHNlKTsKICAgICBkLT5vZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YSA9IDUg
KiAxMDI0ICogMTAyNDsKICAgICBkLT5kZWZhdWx0VGV4dEVuY29kaW5nID0gUUxhdGluMVN0cmlu
ZygiaXNvLTg4NTktMSIpOwogICAgIGQtPnRoaXJkUGFydHlDb29raWVQb2xpY3kgPSBBbHdheXNB
bGxvd1RoaXJkUGFydHlDb29raWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkv
cXdlYnNldHRpbmdzLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaAppbmRl
eCA1YjY0OTdhZmI0MjM3NDczM2UzYzYyMDJiM2NkNzg0OWQ4YTdiNmQxLi45ODhhNWU1YjkyZDE4
Y2IxNmQ3OTg4MWUwNDlhNDkyM2IyZWI2NTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0
L0FwaS9xd2Vic2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGlu
Z3MuaApAQCAtODAsNyArODAsOCBAQCBwdWJsaWM6CiAgICAgICAgIENTU1JlZ2lvbnNFbmFibGVk
LAogICAgICAgICBIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQsCiAgICAgICAgIENTU0dyaWRMYXlv
dXRFbmFibGVkLAotICAgICAgICBTY3JvbGxBbmltYXRvckVuYWJsZWQKKyAgICAgICAgU2Nyb2xs
QW5pbWF0b3JFbmFibGVkLAorICAgICAgICBLZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxlZEJ5RGVm
YXVsdAogICAgIH07CiAgICAgZW51bSBXZWJHcmFwaGljIHsKICAgICAgICAgTWlzc2luZ0ltYWdl
R3JhcGhpYywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCBjM2ZjZWU2YzJiZDhiNjc4NGUzMzQxNGY2Yjc5YTBk
OTgwZDk2ZjI2Li5mZGFlMjlkMGNhYTE3Nzg2MWQxMzk4OTYxNDY1MGM4ZjZkYjUwMTE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCkBAIC0zNywxMiArMzcsMTIgQEAgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
czo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycygpCiAgICAgOiBzaG91bGRUcmFja1Zpc2l0
ZWRMaW5rcyhmYWxzZSkKICAgICAsIHNob3VsZEFsd2F5c1VzZUNvbXBsZXhUZXh0Q29kZVBhdGgo
ZmFsc2UpCiAgICAgLCBzaG91bGRVc2VGb250U21vb3RoaW5nKHRydWUpCisgICAgLCBzaG91bGRF
bmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KGZhbHNlKQogICAgICwgZGVmYXVsdFJl
cXVlc3RUaW1lb3V0SW50ZXJ2YWwoSU5UX01BWCkKICNpZiBQTEFURk9STShNQUMpCiAgICAgLCBu
c1VSTENhY2hlTWVtb3J5Q2FwYWNpdHkoMCkKICAgICAsIG5zVVJMQ2FjaGVEaXNrQ2FwYWNpdHko
MCkKICAgICAsIHNob3VsZEZvcmNlU2NyZWVuRm9udFN1YnN0aXR1dGlvbihmYWxzZSkKLSAgICAs
IHNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQoZmFsc2UpCiAjZWxpZiBQ
TEFURk9STShXSU4pCiAgICAgLCBzaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzKGZhbHNlKQogI2Vu
ZGlmCkBAIC03Nyw2ICs3Nyw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciogZW5jb2RlcikgY29uCiAgICAgZW5jb2Rl
ci0+ZW5jb2RlKHNob3VsZFRyYWNrVmlzaXRlZExpbmtzKTsKICAgICBlbmNvZGVyLT5lbmNvZGUo
c2hvdWxkQWx3YXlzVXNlQ29tcGxleFRleHRDb2RlUGF0aCk7CiAgICAgZW5jb2Rlci0+ZW5jb2Rl
KHNob3VsZFVzZUZvbnRTbW9vdGhpbmcpOworICAgIGVuY29kZXItPmVuY29kZShzaG91bGRFbmFi
bGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KTsKICAgICBlbmNvZGVyLT5lbmNvZGUoaWNv
bkRhdGFiYXNlRW5hYmxlZCk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKHRlcm1pbmF0aW9uVGltZW91
dCk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKGxhbmd1YWdlcyk7CkBAIC05NSw3ICs5Niw2IEBAIHZv
aWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50
RW5jb2RlciogZW5jb2RlcikgY29uCiAgICAgZW5jb2Rlci0+ZW5jb2RlKHVpUHJvY2Vzc0J1bmRs
ZVJlc291cmNlUGF0aCk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKHVpUHJvY2Vzc0J1bmRsZVJlc291
cmNlUGF0aEV4dGVuc2lvbkhhbmRsZSk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKHNob3VsZEZvcmNl
U2NyZWVuRm9udFN1YnN0aXR1dGlvbik7Ci0gICAgZW5jb2Rlci0+ZW5jb2RlKHNob3VsZEVuYWJs
ZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQpOwogI2VsaWYgUExBVEZPUk0oV0lOKQogICAg
IGVuY29kZXItPmVuY29kZShzaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzKTsKICAgICBlbmNvZGVy
LT5lbmNvZGUoY2ZVUkxDYWNoZURpc2tDYXBhY2l0eSk7CkBAIC0xNjYsNiArMTY2LDggQEAgYm9v
bCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyKiBkZWNvZGVyLCBXZWIKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVj
b2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuc2hvdWxkVXNlRm9udFNtb290aGluZykpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLnNob3Vs
ZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5pY29uRGF0YWJhc2VFbmFi
bGVkKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBh
cmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0KSkKQEAgLTIwMCw4ICsyMDIsNiBAQCBib29sIFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29k
ZXIqIGRlY29kZXIsIFdlYgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVy
LT5kZWNvZGUocGFyYW1ldGVycy5zaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRpb24pKQog
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVy
cy5zaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwogI2VsaWYgUExBVEZPUk0oV0lOKQogICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KHBhcmFtZXRlcnMuc2hvdWxkUGFpbnROYXRpdmVDb250cm9scykpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oCmluZGV4IDFmNDg4MDM2OTI3MTg4YzU4MGQ2ZjZjN2MwODYxOWNjMTQxNTkx
OTYuLmIzZTA0NzE5MjI1MDRiYTMyNDMxMmE4OGQ5NzM4YTg5M2EyYmYyOTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApA
QCAtNzgsNiArNzgsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAK
ICAgICBib29sIHNob3VsZEFsd2F5c1VzZUNvbXBsZXhUZXh0Q29kZVBhdGg7CiAgICAgYm9vbCBz
aG91bGRVc2VGb250U21vb3RoaW5nOworICAgIGJvb2wgc2hvdWxkRW5hYmxlS2VybmluZ0FuZExp
Z2F0dXJlc0J5RGVmYXVsdDsKIAogICAgIGJvb2wgaWNvbkRhdGFiYXNlRW5hYmxlZDsKIApAQCAt
MTA5LDcgKzExMCw2IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAg
ICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgdWlQcm9jZXNzQnVuZGxlUmVzb3VyY2VQYXRoRXh0
ZW5zaW9uSGFuZGxlOwogCiAgICAgYm9vbCBzaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRp
b247Ci0gICAgYm9vbCBzaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0Owog
CiAjZWxpZiBQTEFURk9STShXSU4pCiAgICAgdWludDY0X3QgY2ZVUkxDYWNoZURpc2tDYXBhY2l0
eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCA1NmEwMTdjNmZj
OWEyZDkzNjM1MWQ4MzliMDc5MGE1NDgwOTcwNjg1Li5iZDRkMzA5YTVhNWU5ZDBlOGY2NjIwZGEy
ODMyMzY4MGRmNjE4ODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
CkBAIC0xMjMsNiArMTIzLDcgQEAgV2ViQ29udGV4dDo6V2ViQ29udGV4dChQcm9jZXNzTW9kZWwg
cHJvY2Vzc01vZGVsLCBjb25zdCBTdHJpbmcmIGluamVjdGVkQnVuZGxlUGEKICAgICAsIG1fdmlz
aXRlZExpbmtQcm92aWRlcih0aGlzKQogICAgICwgbV9hbHdheXNVc2VzQ29tcGxleFRleHRDb2Rl
UGF0aChmYWxzZSkKICAgICAsIG1fc2hvdWxkVXNlRm9udFNtb290aGluZyh0cnVlKQorICAgICwg
bV9zaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KGZhbHNlKQogICAgICwg
bV9jYWNoZU1vZGVsKENhY2hlTW9kZWxEb2N1bWVudFZpZXdlcikKICAgICAsIG1fbWVtb3J5U2Ft
cGxlckVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX21lbW9yeVNhbXBsZXJJbnRlcnZhbCgxNDAwLjAp
CkBAIC0zODcsNyArMzg4LDggQEAgUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+IFdlYkNvbnRl
eHQ6OmNyZWF0ZU5ld1dlYlByb2Nlc3MoKQogCiAgICAgcGFyYW1ldGVycy5zaG91bGRBbHdheXNV
c2VDb21wbGV4VGV4dENvZGVQYXRoID0gbV9hbHdheXNVc2VzQ29tcGxleFRleHRDb2RlUGF0aDsK
ICAgICBwYXJhbWV0ZXJzLnNob3VsZFVzZUZvbnRTbW9vdGhpbmcgPSBtX3Nob3VsZFVzZUZvbnRT
bW9vdGhpbmc7Ci0gICAgCisgICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVLZXJuaW5nQW5kTGln
YXR1cmVzQnlEZWZhdWx0ID0gbV9zaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZh
dWx0OworCiAgICAgcGFyYW1ldGVycy5pY29uRGF0YWJhc2VFbmFibGVkID0gIWljb25EYXRhYmFz
ZVBhdGgoKS5pc0VtcHR5KCk7CiAKICAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9
IChtX3Byb2Nlc3NNb2RlbCA9PSBQcm9jZXNzTW9kZWxTaGFyZWRTZWNvbmRhcnlQcm9jZXNzKSA/
IHNoYXJlZFNlY29uZGFyeVByb2Nlc3NTaHV0ZG93blRpbWVvdXQgOiAwOwpAQCAtNjkxLDYgKzY5
MywxMiBAQCB2b2lkIFdlYkNvbnRleHQ6OnNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcoYm9vbCB1
c2VGb250U21vb3RoaW5nKQogICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJv
Y2Vzczo6U2V0U2hvdWxkVXNlRm9udFNtb290aGluZyh1c2VGb250U21vb3RoaW5nKSk7CiB9CiAK
K3ZvaWQgV2ViQ29udGV4dDo6c2V0U2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVm
YXVsdChib29sIGVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQpCit7CisgICAgbV9z
aG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0ID0gZW5hYmxlS2VybmluZ0Fu
ZExpZ2F0dXJlc0J5RGVmYXVsdDsKKyAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6Oldl
YlByb2Nlc3M6OlNldFNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQoZW5h
YmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCkpOworfQorCiB2b2lkIFdlYkNvbnRleHQ6
OnJlZ2lzdGVyVVJMU2NoZW1lQXNFbXB0eURvY3VtZW50KGNvbnN0IFN0cmluZyYgdXJsU2NoZW1l
KQogewogICAgIG1fc2NoZW1lc1RvUmVnaXN0ZXJBc0VtcHR5RG9jdW1lbnQuYWRkKHVybFNjaGVt
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCA5M2RjNjhlNzBkY2Uy
N2Y3ZTM1YTViZTRiYjMzY2M0ZDRjMTgzYTA4Li4yNTlhMDJjMWMxMGIzNDdhZjZkMjNiMDQ5MTI3
NTRjZTczMzIzN2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTEz
Niw3ICsxMzYsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEFsd2F5c1VzZXNDb21wbGV4VGV4
dENvZGVQYXRoKGJvb2wpOwogICAgIHZvaWQgc2V0U2hvdWxkVXNlRm9udFNtb290aGluZyhib29s
KTsKLSAgICAKKyAgICB2b2lkIHNldFNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURl
ZmF1bHQoYm9vbCk7CisKICAgICB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNFbXB0eURvY3VtZW50
KGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZShjb25z
dCBTdHJpbmcmKTsKICAgICB2b2lkIHNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxT
Y2hlbWUoY29uc3QgU3RyaW5nJik7CkBAIC0zMjksNiArMzMwLDcgQEAgcHJpdmF0ZToKIAogICAg
IGJvb2wgbV9hbHdheXNVc2VzQ29tcGxleFRleHRDb2RlUGF0aDsKICAgICBib29sIG1fc2hvdWxk
VXNlRm9udFNtb290aGluZzsKKyAgICBib29sIG1fc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0
dXJlc0J5RGVmYXVsdDsKIAogICAgIC8vIE1lc3NhZ2VzIHRoYXQgd2VyZSBwb3N0ZWQgYmVmb3Jl
IGFueSBwYWdlcyB3ZXJlIGNyZWF0ZWQuCiAgICAgLy8gVGhlIGNsaWVudCBzaG91bGQgdXNlIGlu
aXRpYWxpemF0aW9uIG1lc3NhZ2VzIGluc3RlYWQsIHNvIHRoYXQgYSByZXN0YXJ0ZWQgcHJvY2Vz
cyB3b3VsZCBnZXQgdGhlIHNhbWUgc3RhdGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAppbmRleCAzM2JlNzU5ODk0MzYxMjI4MjU2ZTIyZGI0NDYzMGZjYjc1YjY2ZDhh
Li5mMDgyMzA2YWIzNDBiMTY2OTMxODBlNDNjODM0Y2NjNWVlNDhjZDc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTI2NCw2ICsyNjQsOSBAQCB2b2lkIFdl
YlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMmIHBhcmFtZQogICAgIGlmIChwYXJhbWV0ZXJzLnNob3VsZFVzZUZvbnRTbW9vdGhp
bmcpCiAgICAgICAgIHNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcodHJ1ZSk7CiAKKyAgICBpZiAo
cGFyYW1ldGVycy5zaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KQorICAg
ICAgICBzZXRTaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KHRydWUpOwor
CiAjaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQogICAgIFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjpzZXRQcml2YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbklkZW50aWZpZXJCYXNlKHBhcmFt
ZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcik7CiAjZW5kaWYKQEAgLTM1OCw2ICszNjEs
MTEgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRTaG91bGRVc2VGb250U21vb3RoaW5nKGJvb2wgdXNl
Rm9udFNtb290aGluZykKICAgICBXZWJDb3JlOjpGb250OjpzZXRTaG91bGRVc2VTbW9vdGhpbmco
dXNlRm9udFNtb290aGluZyk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6c2V0U2hvdWxkRW5hYmxl
S2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdChib29sIGVuYWJsZUtlcm5pbmdBbmRMaWdhdHVy
ZXNCeURlZmF1bHQpCit7CisgICAgRm9udDo6c2V0RGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMo
ZW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCA/IEtlcm5pbmcgfCBMaWdhdHVyZXMg
OiAwKTsKK30KKwogdm9pZCBXZWJQcm9jZXNzOjp1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdl
ZChjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFuZ3VhZ2VzKSBjb25zdAogewogICAgIG92ZXJyaWRl
VXNlclByZWZlcnJlZExhbmd1YWdlcyhsYW5ndWFnZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaAppbmRleCA4OGI1ZjU3OTk1YWJkYmU3YThhZTdmNmE4ZDYzODQ3OTMwYmY5
OTg1Li4wYzgyN2I1MWIzOThjOGZjODgwMzFlN2U2MDJjOWExMDkyYWNhMWQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMjE1LDYgKzIxNSw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBzZXREZWZhdWx0UmVxdWVzdFRpbWVvdXRJbnRlcnZhbChkb3VibGUpOwogICAg
IHZvaWQgc2V0QWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGgoYm9vbCk7CiAgICAgdm9pZCBz
ZXRTaG91bGRVc2VGb250U21vb3RoaW5nKGJvb2wpOworICAgIHZvaWQgc2V0U2hvdWxkRW5hYmxl
S2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdChib29sKTsKICAgICB2b2lkIHVzZXJQcmVmZXJy
ZWRMYW5ndWFnZXNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxTdHJpbmc+JikgY29uc3Q7CiAgICAgdm9p
ZCBmdWxsS2V5Ym9hcmRBY2Nlc3NNb2RlQ2hhbmdlZChib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0Vu
YWJsZWQpOwogI2lmIFBMQVRGT1JNKFdJTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCAyY2MxZTYyODA0NjMyODEzMTE0MDU4ZmFj
YmVhMTUwMDU3MzVjYzI0Li5iNzViOTQ0ZDQ5ZTAxYTE3ODlmMDVkMDAzMWIzMDczNTBjN2IyMGZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluCkBAIC00OSw2ICs0OSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgewogICAgIFNldERl
ZmF1bHRSZXF1ZXN0VGltZW91dEludGVydmFsKGRvdWJsZSB0aW1lb3V0SW50ZXJ2YWwpCiAgICAg
U2V0QWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGgoYm9vbCBhbHdheXNVc2VDb21wbGV4VGV4
dCkKICAgICBTZXRTaG91bGRVc2VGb250U21vb3RoaW5nKGJvb2wgdXNlRm9udFNtb290aGluZykK
KyAgICBTZXRTaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KGJvb2wgZW5h
YmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCkKICAgICBVc2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzQ2hhbmdlZChWZWN0b3I8V1RGOjpTdHJpbmc+IGxhbmd1YWdlcykKICAgICBGdWxsS2V5Ym9h
cmRBY2Nlc3NNb2RlQ2hhbmdlZChib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQpCiAjaWYg
UExBVEZPUk0oV0lOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMv
V2ViUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nl
c3NNYWMubW0KaW5kZXggMTA3NjZkMmNjM2RjMzg4OGVhNTEzY2E4NTBkYTg5ZWE4NDQ0ZTllMS4u
ZTIyZWY3YWRhOTgzNWQ1OWE4MzU3YjRhNTU2NWFiZTQ2YWE4M2MxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCkBAIC0yNzMsNyArMjczLDYg
QEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMKICAgICB9CiAKICAgICBtX3Nob3VsZEZvcmNlU2Ny
ZWVuRm9udFN1YnN0aXR1dGlvbiA9IHBhcmFtZXRlcnMuc2hvdWxkRm9yY2VTY3JlZW5Gb250U3Vi
c3RpdHV0aW9uOwotICAgIEZvbnQ6OnNldERlZmF1bHRUeXBlc2V0dGluZ0ZlYXR1cmVzKHBhcmFt
ZXRlcnMuc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCA/IEtlcm5pbmcg
fCBMaWdhdHVyZXMgOiAwKTsKIAogICAgIG1fY29tcG9zaXRpbmdSZW5kZXJTZXJ2ZXJQb3J0ID0g
cGFyYW1ldGVycy5hY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9ydC5wb3J0KCk7CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyOWUyOThhNWQxZGMw
MmEwYzJmNWNiOTk3YmYzZWMxOTZmNzQxNWQwLi43OTUzMGEyZjljMzQ4ODk4ODA4MGZiMmVkNzYy
ZmE4YWRjYThmMmExIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMTAtMjMgIEFsbGFuIFNhbmRmZWxkIEplbnNl
biAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBNYWtlIGRlZmF1bHQg
dHlwZXNldHRpbmdzIGNvbmZpZ3VyYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIG9wdGlvbiB0byBjaGFuZ2UgZm9udC1rZXJuaW5nIHNldHRp
bmcsIHNvIGZvbnQga2VybmluZyBjYW4gYmUgdmlzdWFsbHkgdGVzdGVkLgorCisgICAgICAgICog
UXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHA6CisgICAgICAgIChMYXVuY2hlcldpbmRv
dzo6Y3JlYXRlQ2hyb21lKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93Ojp0b2dnbGVGb250S2Vy
bmluZyk6CisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oOgorICAgICAg
ICAoV2luZG93T3B0aW9uczo6V2luZG93T3B0aW9ucyk6CisgICAgICAgIChXaW5kb3dPcHRpb25z
KToKKyAgICAgICAgKExhdW5jaGVyV2luZG93KToKKwogMjAxMi0xMC0yMyAgS2VubmV0aCBSb2hk
ZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIHJlc29sdXRpb24gbWVkaWEgcXVlcnkKZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJy
b3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndp
bmRvdy5jcHAKaW5kZXggZDlkZDBmOTNmYWY4ZmE1MGJkNWNjMTg3NDcwYTg4YTNmMTc5NzQ1Ny4u
Mjk1MDIzMWVhOTQ5YTU0Y2I2OTc1MjU0MmI0NDczYWQ2OGM2ODA5NyAxMDA2NDQKLS0tIGEvVG9v
bHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAKKysrIGIvVG9vbHMvUXRUZXN0QnJv
d3Nlci9sYXVuY2hlcndpbmRvdy5jcHAKQEAgLTQ3Nyw2ICs0NzcsMTAgQEAgdm9pZCBMYXVuY2hl
cldpbmRvdzo6Y3JlYXRlQ2hyb21lKCkKICNlbmRpZgogICAgIHRvZ2dsZVNjcm9sbEFuaW1hdG9y
LT5zZXRDaGVja2VkKGZhbHNlKTsKIAorICAgIFFBY3Rpb24qIHRvZ2dsZUZvbnRLZXJuaW5nID0g
c2V0dGluZ3NNZW51LT5hZGRBY3Rpb24oIkVuYWJsZSBGb250IEtlcm5pbmciLCB0aGlzLCBTTE9U
KHRvZ2dsZUZvbnRLZXJuaW5nKGJvb2wpKSk7CisgICAgdG9nZ2xlRm9udEtlcm5pbmctPnNldENo
ZWNrYWJsZSh0cnVlKTsKKyAgICB0b2dnbGVGb250S2VybmluZy0+c2V0Q2hlY2tlZChmYWxzZSk7
CisKICAgICBRQWN0aW9uKiB0b2dnbGVJbnRlcnJ1cHRpbmdKYXZhU2NyaXB0ZUVuYWJsZWQgPSBz
ZXR0aW5nc01lbnUtPmFkZEFjdGlvbigiRW5hYmxlIGludGVycnVwdGluZyBqcyBzY3JpcHRzIiwg
dGhpcywgU0xPVCh0b2dnbGVJbnRlcnJ1cHRpbmdKYXZhU2NyaXB0RW5hYmxlZChib29sKSkpOwog
ICAgIHRvZ2dsZUludGVycnVwdGluZ0phdmFTY3JpcHRlRW5hYmxlZC0+c2V0Q2hlY2thYmxlKHRy
dWUpOwogICAgIHRvZ2dsZUludGVycnVwdGluZ0phdmFTY3JpcHRlRW5hYmxlZC0+c2V0Q2hlY2tl
ZChmYWxzZSk7CkBAIC0xMDk5LDYgKzExMDMsMTIgQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6dG9n
Z2xlU2Nyb2xsQW5pbWF0b3IoYm9vbCB0b2dnbGUpCiAgICAgcGFnZSgpLT5zZXR0aW5ncygpLT5z
ZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpTY3JvbGxBbmltYXRvckVuYWJsZWQsIHRvZ2dsZSk7
CiB9CiAKK3ZvaWQgTGF1bmNoZXJXaW5kb3c6OnRvZ2dsZUZvbnRLZXJuaW5nKGJvb2wgdG9nZ2xl
KQoreworICAgIG1fd2luZG93T3B0aW9ucy5lbmFibGVGb250S2VybmluZyA9IHRvZ2dsZTsKKyAg
ICBwYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6Oktlcm5pbmdB
bmRMaWdhdHVyZXNFbmFibGVkQnlEZWZhdWx0LCB0b2dnbGUpOworfQorCiBMYXVuY2hlcldpbmRv
dyogTGF1bmNoZXJXaW5kb3c6Om5ld1dpbmRvdygpCiB7CiAgICAgTGF1bmNoZXJXaW5kb3cqIG13
ID0gbmV3IExhdW5jaGVyV2luZG93KCZtX3dpbmRvd09wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9s
YXVuY2hlcndpbmRvdy5oCmluZGV4IDNkZTg2NjdmYTk2MzNhYTNlZTcyMWNjYjRlYjM0ZDVlNDM1
ZWQ0ZmMuLjQ4NDliMTZiYjU4YWJjMjRiNjU3OWM4ZTA2YjRlZTU4YTI1Y2FhYjkgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaAorKysgYi9Ub29scy9RdFRl
c3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmgKQEAgLTc4LDYgKzc4LDcgQEAgcHVibGljOgogICAg
ICAgICAsIHVzZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlKGZhbHNlKQogICAgICAgICAsIHVz
ZURpc2tDb29raWVzKHRydWUpCiAgICAgICAgICwgZW5hYmxlU2Nyb2xsQW5pbWF0b3IoZmFsc2Up
CisgICAgICAgICwgZW5hYmxlRm9udEtlcm5pbmcoZmFsc2UpCiAgICAgICAgICwgb2ZmbGluZVN0
b3JhZ2VEZWZhdWx0UXVvdGFTaXplKDApCiAjaWZuZGVmIFFUX05PX09QRU5HTAogICAgICAgICAs
IHVzZVFHTFdpZGdldFZpZXdwb3J0KGZhbHNlKQpAQCAtMTAyLDYgKzEwMyw3IEBAIHB1YmxpYzoK
ICAgICBib29sIHVzZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlOwogICAgIGJvb2wgdXNlRGlz
a0Nvb2tpZXM7CiAgICAgYm9vbCBlbmFibGVTY3JvbGxBbmltYXRvcjsKKyAgICBib29sIGVuYWJs
ZUZvbnRLZXJuaW5nOwogICAgIHF1aW50NjQgb2ZmbGluZVN0b3JhZ2VEZWZhdWx0UXVvdGFTaXpl
OwogI2lmbmRlZiBRVF9OT19PUEVOR0wKICAgICBib29sIHVzZVFHTFdpZGdldFZpZXdwb3J0OwpA
QCAtMTY1LDYgKzE2Nyw3IEBAIHByb3RlY3RlZCBRX1NMT1RTOgogICAgIHZvaWQgdG9nZ2xlT2Zm
bGluZVN0b3JhZ2VEYXRhYmFzZShib29sIHRvZ2dsZSk7CiAgICAgdm9pZCB0b2dnbGVPZmZsaW5l
V2ViQXBwbGljYXRpb25DYWNoZShib29sIHRvZ2dsZSk7CiAgICAgdm9pZCB0b2dnbGVTY3JvbGxB
bmltYXRvcihib29sIHRvZ2dsZSk7CisgICAgdm9pZCB0b2dnbGVGb250S2VybmluZyhib29sIHRv
Z2dsZSk7CiAgICAgdm9pZCBzZXRPZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YSgpOwogI2lmbmRl
ZiBRVF9OT19MSU5FRURJVAogICAgIHZvaWQgc2hvd0ZpbmRCYXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171201</attachid>
            <date>2012-10-29 04:20:38 -0700</date>
            <delta_ts>2012-10-31 07:43:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100106-20121029121843.patch</filename>
            <type>text/plain</type>
            <size>18590</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDYwZDNmOTdhYzAz
MjM5ZmUwNjA3ZTAyZjBlOTI2N2NlZWMxZTc2MTguLjZkMzUzZGU3YTNmZjczODY2YWQ4ZmVhMWNm
OWQ3NGM1NDM2NmU1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAt
MjMgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAg
ICAgICAgW1F0XSBNYWtlIGRlZmF1bHQgdHlwZXNldHRpbmdzIGNvbmZpZ3VyYWJsZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTA2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IHRoZSBvcHRp
b24gS2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQsIHdoaWNoIGlzIGRlZmF1bHQg
b2ZmLgorCisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0
dGluZ3NQcml2YXRlOjphcHBseSk6CisgICAgICAgIChRV2ViU2V0dGluZ3M6OlFXZWJTZXR0aW5n
cyk6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5oOgorCiAyMDEyLTEwLTI0ICBCcmFkeSBF
aWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBzdHJhdGVneSBmb3Ig
bG9hZGVyIGN1c3RvbWl6YXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjU2NTFhZTM3NGFhZWU5MWY3ZTI4
NDY5N2RhOGMwYjNiYzhmYmMxOC4uZmRhY2U3YzVkYjU5OWM2YzBiYmI2N2JjMGI3ZGU5OTY1ODA0
MjZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTEwLTIzICBBbGxhbiBTYW5k
ZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIFtRdF0gTWFr
ZSBkZWZhdWx0IHR5cGVzZXR0aW5ncyBjb25maWd1cmFibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDEwNgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmVzIHRoZSBwYXJhbWV0ZXIgU2hvdWxkRW5h
YmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCBmcm9tIE1hYy1vbmx5IHRvIGJlaW5nCisg
ICAgICAgIGdlbmVyYWxseSBhdmFpbGFibGUsIGFuZCBkeW5hbWljYWxseSBjb25maWd1cmFibGUu
CisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJD
b250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6V2ViQ29udGV4dCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmNyZWF0ZU5ld1dlYlByb2Nlc3MpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDb250ZXh0OjpzZXRTaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVz
QnlEZWZhdWx0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5oOgorICAgICAgICAo
V2ViQ29udGV4dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRTaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlE
ZWZhdWx0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdl
YlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAxMi0x
MC0yOSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGlnaWEuY29tPgogCiAg
ICAgICAgIFtXSzJdIEVuYWJsZSBkZWxlZ2F0ZWQgc2Nyb2xsaW5nIGFzIHNvb24gYXMgdGhlIEZy
YW1lVmlldyBpcyBjcmVhdGVkIHdoZW4gdXNpbmcgZml4ZWQgbGF5b3V0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9xdC9B
cGkvcXdlYnNldHRpbmdzLmNwcAppbmRleCA3NjhjODAyNTZlYzEyNjYxMWQzYThmODI3Y2QxZWM5
MzE3MmYzYTgzLi5mOGY3ODJmMjcxYTMxNzlkYmZmYzNiMDVjMTQzZTJmMGJlMTc2NGM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNs
dWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tl
ci5oIgogI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlICJGb250LmgiCiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CkBAIC0y
NzUsNiArMjc2LDkgQEAgdm9pZCBRV2ViU2V0dGluZ3NQcml2YXRlOjphcHBseSgpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbC0+YXR0cmlidXRlcy52YWx1ZShR
V2ViU2V0dGluZ3M6Ok5vdGlmaWNhdGlvbnNFbmFibGVkKSk7CiAgICAgICAgIHNldHRpbmdzLT5z
ZXROb3RpZmljYXRpb25zRW5hYmxlZCh2YWx1ZSk7CiAKKyAgICAgICAgdmFsdWUgPSBhdHRyaWJ1
dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6S2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1
bHQsIGdsb2JhbC0+YXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6Oktlcm5pbmdBbmRMaWdh
dHVyZXNFbmFibGVkQnlEZWZhdWx0KSk7CisgICAgICAgIFdlYkNvcmU6OkZvbnQ6OnNldERlZmF1
bHRUeXBlc2V0dGluZ0ZlYXR1cmVzKHZhbHVlID8gKFdlYkNvcmU6Oktlcm5pbmcgfCBXZWJDb3Jl
OjpMaWdhdHVyZXMpIDogMCk7CisKICAgICAgICAgdmFsdWUgPSBhdHRyaWJ1dGVzLnZhbHVlKFFX
ZWJTZXR0aW5nczo6U2l0ZVNwZWNpZmljUXVpcmtzRW5hYmxlZCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5hdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5n
czo6U2l0ZVNwZWNpZmljUXVpcmtzRW5hYmxlZCkpOwogICAgICAgICBzZXR0aW5ncy0+c2V0TmVl
ZHNTaXRlU3BlY2lmaWNRdWlya3ModmFsdWUpOwpAQCAtNDkxLDYgKzQ5NSw5IEBAIFFXZWJTZXR0
aW5ncyogUVdlYlNldHRpbmdzOjpnbG9iYWxTZXR0aW5ncygpCiAgICAgXHZhbHVlIENhcmV0QnJv
d3NpbmdFbmFibGVkIFRoaXMgc2V0dGluZyBlbmFibGVzIGNhcmV0IGJyb3dzaW5nLiBJdCBpcyBk
aXNhYmxlZCBieSBkZWZhdWx0LgogICAgIFx2YWx1ZSBOb3RpZmljYXRpb25zRW5hYmxlZCBTcGVj
aWZpZXMgd2hldGhlciBzdXBwb3J0IGZvciB0aGUgSFRNTCA1IHdlYiBub3RpZmljYXRpb25zIGlz
IGVuYWJsZWQKICAgICAgICAgb3Igbm90LiBUaGlzIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KKyAg
ICBcdmFsdWUgS2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQgVGhpcyBzZXR0aW5n
IGVuYWJsZXMgZm9udCBrZXJuaW5nIGFuZCBjb21tb24gbGlnYXR1cmVzCisgICAgICAgIGV2ZXJ5
d2hlcmUgdGhleSBoYXZlIG5vdCBiZWVuIGV4cGxpY2l0bHkgZGlzYWJsZWQuIEVuYWJsaW5nIHRo
aXMgZmVhdHVyZSBtaWdodCBoYXZlIGFuIGltcGFjdAorICAgICAgICBvbiBwZXJmb3JtYW5jZSBh
bmQgaXQgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC4KICovCiAKIC8qIQpAQCAtNTQ1LDYgKzU1Miw3
IEBAIFFXZWJTZXR0aW5nczo6UVdlYlNldHRpbmdzKCkKICAgICBkLT5hdHRyaWJ1dGVzLmluc2Vy
dChRV2ViU2V0dGluZ3M6OlNjcm9sbEFuaW1hdG9yRW5hYmxlZCwgZmFsc2UpOwogICAgIGQtPmF0
dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6Q2FyZXRCcm93c2luZ0VuYWJsZWQsIGZhbHNl
KTsKICAgICBkLT5hdHRyaWJ1dGVzLmluc2VydChRV2ViU2V0dGluZ3M6Ok5vdGlmaWNhdGlvbnNF
bmFibGVkLCB0cnVlKTsKKyAgICBkLT5hdHRyaWJ1dGVzLmluc2VydChRV2ViU2V0dGluZ3M6Oktl
cm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkQnlEZWZhdWx0LCBmYWxzZSk7CiAgICAgZC0+b2ZmbGlu
ZVN0b3JhZ2VEZWZhdWx0UXVvdGEgPSA1ICogMTAyNCAqIDEwMjQ7CiAgICAgZC0+ZGVmYXVsdFRl
eHRFbmNvZGluZyA9IFFMYXRpbjFTdHJpbmcoImlzby04ODU5LTEiKTsKICAgICBkLT50aGlyZFBh
cnR5Q29va2llUG9saWN5ID0gQWx3YXlzQWxsb3dUaGlyZFBhcnR5Q29va2llczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oIGIvU291cmNlL1dlYktpdC9x
dC9BcGkvcXdlYnNldHRpbmdzLmgKaW5kZXggNWU3ZDNlMWI0ZDNkNGM4MTM1NjgxMmM5MmIxZjg0
YjUwOGQ0MGUzOS4uNTBjNWFlYTIzNDA1NWYyYjg2MTRiYjUzZTUxYjEwNGU1YjNhZDc5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKKysrIGIvU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKQEAgLTgyLDcgKzgyLDggQEAgcHVibGljOgog
ICAgICAgICBDU1NHcmlkTGF5b3V0RW5hYmxlZCwKICAgICAgICAgU2Nyb2xsQW5pbWF0b3JFbmFi
bGVkLAogICAgICAgICBDYXJldEJyb3dzaW5nRW5hYmxlZCwKLSAgICAgICAgTm90aWZpY2F0aW9u
c0VuYWJsZWQKKyAgICAgICAgTm90aWZpY2F0aW9uc0VuYWJsZWQsCisgICAgICAgIEtlcm5pbmdB
bmRMaWdhdHVyZXNFbmFibGVkQnlEZWZhdWx0CiAgICAgfTsKICAgICBlbnVtIFdlYkdyYXBoaWMg
ewogICAgICAgICBNaXNzaW5nSW1hZ2VHcmFwaGljLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDE0MzZjYWE0
MGRkMTYxMzE4NTA3NTNlZjMzMjU2Y2VhNDI1OTg5NjcuLjI0YzQ0MTZmNDM2MDY3NTBhZTJjNWZh
YWFmMjViZTczYWI1OWZiNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTM3LDEyICszNywxMiBAQCBXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKCkK
ICAgICA6IHNob3VsZFRyYWNrVmlzaXRlZExpbmtzKGZhbHNlKQogICAgICwgc2hvdWxkQWx3YXlz
VXNlQ29tcGxleFRleHRDb2RlUGF0aChmYWxzZSkKICAgICAsIHNob3VsZFVzZUZvbnRTbW9vdGhp
bmcodHJ1ZSkKKyAgICAsIHNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQo
ZmFsc2UpCiAgICAgLCBkZWZhdWx0UmVxdWVzdFRpbWVvdXRJbnRlcnZhbChJTlRfTUFYKQogI2lm
IFBMQVRGT1JNKE1BQykKICAgICAsIG5zVVJMQ2FjaGVNZW1vcnlDYXBhY2l0eSgwKQogICAgICwg
bnNVUkxDYWNoZURpc2tDYXBhY2l0eSgwKQogICAgICwgc2hvdWxkRm9yY2VTY3JlZW5Gb250U3Vi
c3RpdHV0aW9uKGZhbHNlKQotICAgICwgc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5
RGVmYXVsdChmYWxzZSkKICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICAsIHNob3VsZFBhaW50TmF0
aXZlQ29udHJvbHMoZmFsc2UpCiAjZW5kaWYKQEAgLTc3LDYgKzc3LDcgQEAgdm9pZCBXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBl
bmNvZGVyKSBjb24KICAgICBlbmNvZGVyLmVuY29kZShzaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyk7
CiAgICAgZW5jb2Rlci5lbmNvZGUoc2hvdWxkQWx3YXlzVXNlQ29tcGxleFRleHRDb2RlUGF0aCk7
CiAgICAgZW5jb2Rlci5lbmNvZGUoc2hvdWxkVXNlRm9udFNtb290aGluZyk7CisgICAgZW5jb2Rl
ci5lbmNvZGUoc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCk7CiAgICAg
ZW5jb2Rlci5lbmNvZGUoaWNvbkRhdGFiYXNlRW5hYmxlZCk7CiAgICAgZW5jb2Rlci5lbmNvZGUo
dGVybWluYXRpb25UaW1lb3V0KTsKICAgICBlbmNvZGVyLmVuY29kZShsYW5ndWFnZXMpOwpAQCAt
OTUsNyArOTYsNiBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbgogICAgIGVuY29kZXIuZW5jb2Rl
KHVpUHJvY2Vzc0J1bmRsZVJlc291cmNlUGF0aCk7CiAgICAgZW5jb2Rlci5lbmNvZGUodWlQcm9j
ZXNzQnVuZGxlUmVzb3VyY2VQYXRoRXh0ZW5zaW9uSGFuZGxlKTsKICAgICBlbmNvZGVyLmVuY29k
ZShzaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRpb24pOwotICAgIGVuY29kZXIuZW5jb2Rl
KHNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQpOwogI2VsaWYgUExBVEZP
Uk0oV0lOKQogICAgIGVuY29kZXIuZW5jb2RlKHNob3VsZFBhaW50TmF0aXZlQ29udHJvbHMpOwog
ICAgIGVuY29kZXIuZW5jb2RlKGNmVVJMQ2FjaGVEaXNrQ2FwYWNpdHkpOwpAQCAtMTY2LDYgKzE2
Niw4IEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2ViCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLnNob3VsZFVzZUZvbnRTbW9vdGhpbmcp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocGFyYW1l
dGVycy5zaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuaWNvbkRh
dGFiYXNlRW5hYmxlZCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIt
PmRlY29kZShwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCkpCkBAIC0yMDAsOCArMjAyLDYg
QEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWIKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlm
ICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuc2hvdWxkRm9yY2VTY3JlZW5Gb250U3Vic3Rp
dHV0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBpZiAoIWRlY29k
ZXItPmRlY29kZShwYXJhbWV0ZXJzLnNob3VsZFBhaW50TmF0aXZlQ29udHJvbHMpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCA1YTY1MWFhZWViNDQ2ZDZhODNkZjkyYWE3ODkw
MGVhZjFkZDkyOTRiLi43YTM1YjhmMmRhYWRmOGEwMGY5Y2M3NjNjZjIyNTliYWMyZmNlNDU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKQEAgLTc4LDYgKzc4LDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMgewogCiAgICAgYm9vbCBzaG91bGRBbHdheXNVc2VDb21wbGV4VGV4dENvZGVQYXRoOwog
ICAgIGJvb2wgc2hvdWxkVXNlRm9udFNtb290aGluZzsKKyAgICBib29sIHNob3VsZEVuYWJsZUtl
cm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQ7CiAKICAgICBib29sIGljb25EYXRhYmFzZUVuYWJs
ZWQ7CiAKQEAgLTEwOSw3ICsxMTAsNiBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyB7CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHVpUHJvY2Vzc0J1bmRsZVJlc291
cmNlUGF0aEV4dGVuc2lvbkhhbmRsZTsKIAogICAgIGJvb2wgc2hvdWxkRm9yY2VTY3JlZW5Gb250
U3Vic3RpdHV0aW9uOwotICAgIGJvb2wgc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5
RGVmYXVsdDsKIAogI2VsaWYgUExBVEZPUk0oV0lOKQogICAgIHVpbnQ2NF90IGNmVVJMQ2FjaGVE
aXNrQ2FwYWNpdHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXgg
ZmU2OWYyYjdlMDNiZDliMTdkNTI2OTYzZDgzYzA1YmM1N2M0ZjAxMS4uMDlhZTI4YzUyNjdjNGMz
M2M0ZTdiOWNjNWJlODYyZDFkYzY2M2MzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b250ZXh0LmNwcApAQCAtMTIzLDYgKzEyMyw3IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRleHQoUHJv
Y2Vzc01vZGVsIHByb2Nlc3NNb2RlbCwgY29uc3QgU3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhCiAg
ICAgLCBtX3Zpc2l0ZWRMaW5rUHJvdmlkZXIodGhpcykKICAgICAsIG1fYWx3YXlzVXNlc0NvbXBs
ZXhUZXh0Q29kZVBhdGgoZmFsc2UpCiAgICAgLCBtX3Nob3VsZFVzZUZvbnRTbW9vdGhpbmcodHJ1
ZSkKKyAgICAsIG1fc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdChmYWxz
ZSkKICAgICAsIG1fY2FjaGVNb2RlbChDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIpCiAgICAgLCBt
X21lbW9yeVNhbXBsZXJFbmFibGVkKGZhbHNlKQogICAgICwgbV9tZW1vcnlTYW1wbGVySW50ZXJ2
YWwoMTQwMC4wKQpAQCAtMzg2LDcgKzM4Nyw4IEBAIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5
PiBXZWJDb250ZXh0OjpjcmVhdGVOZXdXZWJQcm9jZXNzKCkKIAogICAgIHBhcmFtZXRlcnMuc2hv
dWxkQWx3YXlzVXNlQ29tcGxleFRleHRDb2RlUGF0aCA9IG1fYWx3YXlzVXNlc0NvbXBsZXhUZXh0
Q29kZVBhdGg7CiAgICAgcGFyYW1ldGVycy5zaG91bGRVc2VGb250U21vb3RoaW5nID0gbV9zaG91
bGRVc2VGb250U21vb3RoaW5nOwotICAgIAorICAgIHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlS2Vy
bmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCA9IG1fc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0
dXJlc0J5RGVmYXVsdDsKKwogICAgIHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNlRW5hYmxlZCA9ICFp
Y29uRGF0YWJhc2VQYXRoKCkuaXNFbXB0eSgpOwogCiAgICAgcGFyYW1ldGVycy50ZXJtaW5hdGlv
blRpbWVvdXQgPSAobV9wcm9jZXNzTW9kZWwgPT0gUHJvY2Vzc01vZGVsU2hhcmVkU2Vjb25kYXJ5
UHJvY2VzcykgPyBzaGFyZWRTZWNvbmRhcnlQcm9jZXNzU2h1dGRvd25UaW1lb3V0IDogMDsKQEAg
LTY5MCw2ICs2OTIsMTIgQEAgdm9pZCBXZWJDb250ZXh0OjpzZXRTaG91bGRVc2VGb250U21vb3Ro
aW5nKGJvb2wgdXNlRm9udFNtb290aGluZykKICAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2Fn
ZXM6OldlYlByb2Nlc3M6OlNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcodXNlRm9udFNtb290aGlu
ZykpOwogfQogCit2b2lkIFdlYkNvbnRleHQ6OnNldFNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdh
dHVyZXNCeURlZmF1bHQoYm9vbCBlbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KQor
eworICAgIG1fc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCA9IGVuYWJs
ZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQ7CisgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1l
c3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRTaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlE
ZWZhdWx0KGVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQpKTsKK30KKwogdm9pZCBX
ZWJDb250ZXh0OjpyZWdpc3RlclVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChjb25zdCBTdHJpbmcm
IHVybFNjaGVtZSkKIHsKICAgICBtX3NjaGVtZXNUb1JlZ2lzdGVyQXNFbXB0eURvY3VtZW50LmFk
ZCh1cmxTY2hlbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKaW5kZXggMGQ0
NDQ1NGJhYjYzYTYxNjNiMzYzNmY4NjFhMzViNDdlYjAzNDQ4Zi4uNTRjMDk5ZWQ1ZDM3ZjIyM2Fk
ZGE2YjVlODNlMDAwN2I4NmYxOWM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5oCkBAIC0xMzksNyArMTM5LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRBbHdheXNVc2Vz
Q29tcGxleFRleHRDb2RlUGF0aChib29sKTsKICAgICB2b2lkIHNldFNob3VsZFVzZUZvbnRTbW9v
dGhpbmcoYm9vbCk7Ci0gICAgCisgICAgdm9pZCBzZXRTaG91bGRFbmFibGVLZXJuaW5nQW5kTGln
YXR1cmVzQnlEZWZhdWx0KGJvb2wpOworCiAgICAgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzRW1w
dHlEb2N1bWVudChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNT
ZWN1cmUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlk
ZGVuRm9yVVJMU2NoZW1lKGNvbnN0IFN0cmluZyYpOwpAQCAtMzMyLDYgKzMzMyw3IEBAIHByaXZh
dGU6CiAKICAgICBib29sIG1fYWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGg7CiAgICAgYm9v
bCBtX3Nob3VsZFVzZUZvbnRTbW9vdGhpbmc7CisgICAgYm9vbCBtX3Nob3VsZEVuYWJsZUtlcm5p
bmdBbmRMaWdhdHVyZXNCeURlZmF1bHQ7CiAKICAgICAvLyBNZXNzYWdlcyB0aGF0IHdlcmUgcG9z
dGVkIGJlZm9yZSBhbnkgcGFnZXMgd2VyZSBjcmVhdGVkLgogICAgIC8vIFRoZSBjbGllbnQgc2hv
dWxkIHVzZSBpbml0aWFsaXphdGlvbiBtZXNzYWdlcyBpbnN0ZWFkLCBzbyB0aGF0IGEgcmVzdGFy
dGVkIHByb2Nlc3Mgd291bGQgZ2V0IHRoZSBzYW1lIHN0YXRlLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggOTc2YTEzNmNiNjQ3Y2EzNTBhOWNiYjZjMDJhMDYx
YWUwYjY0ZTZiOC4uMjlhYmViM2MwN2ExMjdiMTc2MzEwZjE2YjExMzM0ZjI4MzYxYjFiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0yNzQsNiArMjc0LDkg
QEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWUKICAgICBpZiAocGFyYW1ldGVycy5zaG91bGRVc2VG
b250U21vb3RoaW5nKQogICAgICAgICBzZXRTaG91bGRVc2VGb250U21vb3RoaW5nKHRydWUpOwog
CisgICAgaWYgKHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVm
YXVsdCkKKyAgICAgICAgc2V0U2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVs
dCh0cnVlKTsKKwogI2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykKICAgICBXZWJDb3JlOjpS
ZXNvdXJjZUhhbmRsZTo6c2V0UHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb25JZGVudGlmaWVy
QmFzZShwYXJhbWV0ZXJzLnVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXIpOwogI2VuZGlmCkBAIC0z
NjcsNiArMzcwLDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0U2hvdWxkVXNlRm9udFNtb290aGlu
Zyhib29sIHVzZUZvbnRTbW9vdGhpbmcpCiAgICAgV2ViQ29yZTo6Rm9udDo6c2V0U2hvdWxkVXNl
U21vb3RoaW5nKHVzZUZvbnRTbW9vdGhpbmcpOwogfQogCit2b2lkIFdlYlByb2Nlc3M6OnNldFNo
b3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQoYm9vbCBlbmFibGVLZXJuaW5n
QW5kTGlnYXR1cmVzQnlEZWZhdWx0KQoreworICAgIFdlYkNvcmU6OkZvbnQ6OnNldERlZmF1bHRU
eXBlc2V0dGluZ0ZlYXR1cmVzKGVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQgPyBX
ZWJDb3JlOjpLZXJuaW5nIHwgV2ViQ29yZTo6TGlnYXR1cmVzIDogMCk7Cit9CisKIHZvaWQgV2Vi
UHJvY2Vzczo6dXNlclByZWZlcnJlZExhbmd1YWdlc0NoYW5nZWQoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGxhbmd1YWdlcykgY29uc3QKIHsKICAgICBvdmVycmlkZVVzZXJQcmVmZXJyZWRMYW5ndWFn
ZXMobGFuZ3VhZ2VzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXgg
YzI0OGE0ZTBhOTAxMWQxNTNkZWQxYjg5YzEwYzA5NTY2ODA2ZDc2My4uNzMxMWZjNDZkZjJhZjRi
OThkMDU1NjZmNTFmZmVhYWQ0YmIzYmNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKQEAgLTIyNSw2ICsyMjUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0RGVmYXVs
dFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWwoZG91YmxlKTsKICAgICB2b2lkIHNldEFsd2F5c1VzZXND
b21wbGV4VGV4dENvZGVQYXRoKGJvb2wpOwogICAgIHZvaWQgc2V0U2hvdWxkVXNlRm9udFNtb290
aGluZyhib29sKTsKKyAgICB2b2lkIHNldFNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNC
eURlZmF1bHQoYm9vbCk7CiAgICAgdm9pZCB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdlZChj
b25zdCBWZWN0b3I8U3RyaW5nPiYpIGNvbnN0OwogICAgIHZvaWQgZnVsbEtleWJvYXJkQWNjZXNz
TW9kZUNoYW5nZWQoYm9vbCBmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkKTsKICNpZiBQTEFURk9S
TShXSU4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KaW5kZXggMmNjMWU2MjgwNDYzMjgxMzExNDA1OGZhY2JlYTE1MDA1NzM1Y2MyNC4uYjc1
Yjk0NGQ0OWUwMWExNzg5ZjA1ZDAwMzFiMzA3MzUwYzdiMjBmYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNDksNiArNDksNyBA
QCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIHsKICAgICBTZXREZWZhdWx0UmVxdWVzdFRpbWVvdXRJ
bnRlcnZhbChkb3VibGUgdGltZW91dEludGVydmFsKQogICAgIFNldEFsd2F5c1VzZXNDb21wbGV4
VGV4dENvZGVQYXRoKGJvb2wgYWx3YXlzVXNlQ29tcGxleFRleHQpCiAgICAgU2V0U2hvdWxkVXNl
Rm9udFNtb290aGluZyhib29sIHVzZUZvbnRTbW9vdGhpbmcpCisgICAgU2V0U2hvdWxkRW5hYmxl
S2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdChib29sIGVuYWJsZUtlcm5pbmdBbmRMaWdhdHVy
ZXNCeURlZmF1bHQpCiAgICAgVXNlclByZWZlcnJlZExhbmd1YWdlc0NoYW5nZWQoVmVjdG9yPFdU
Rjo6U3RyaW5nPiBsYW5ndWFnZXMpCiAgICAgRnVsbEtleWJvYXJkQWNjZXNzTW9kZUNoYW5nZWQo
Ym9vbCBmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkKQogI2lmIFBMQVRGT1JNKFdJTikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCmluZGV4IDAwMWRl
YjRjOGZmNWU4MDc2MDcxNTc0ZTQ0MTZhZjYyZjM2YzZkOTAuLmRiOWEyMDdmZjQzMmU5ZGRhZTk5
M2Y1ZGZjOGEzNDc2NjlmMTkwODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvbWFjL1dlYlByb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9t
YWMvV2ViUHJvY2Vzc01hYy5tbQpAQCAtMjc3LDcgKzI3Nyw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzCiAgICAgfQogCiAgICAgbV9zaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRpb24g
PSBwYXJhbWV0ZXJzLnNob3VsZEZvcmNlU2NyZWVuRm9udFN1YnN0aXR1dGlvbjsKLSAgICBGb250
OjpzZXREZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlcyhwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZUtl
cm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1bHQgPyBLZXJuaW5nIHwgTGlnYXR1cmVzIDogMCk7CiAK
ICAgICBtX2NvbXBvc2l0aW5nUmVuZGVyU2VydmVyUG9ydCA9IHBhcmFtZXRlcnMuYWNjZWxlcmF0
ZWRDb21wb3NpdGluZ1BvcnQucG9ydCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzRhMGM1N2VlODUwYjA3YzcyNGYyMDM0NzQyMjAzMTc5
Y2Q3MzViMy4uN2M0YzZhYmFmYjE5NGMyMTgwMWVhMmQ5MDhlZDQ1NmI0YTI5NDAwNyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDEyLTEwLTIzICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGln
aWEuY29tPgorCisgICAgICAgIFtRdF0gTWFrZSBkZWZhdWx0IHR5cGVzZXR0aW5ncyBjb25maWd1
cmFibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MDEwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBvcHRpb24gdG8gY2hhbmdlIGZvbnQta2VybmluZyBzZXR0aW5nLCBzbyBmb250IGtlcm5pbmcg
Y2FuIGJlIHZpc3VhbGx5IHRlc3RlZC4KKworICAgICAgICAqIFF0VGVzdEJyb3dzZXIvbGF1bmNo
ZXJ3aW5kb3cuY3BwOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmNyZWF0ZUNocm9tZSk6Cisg
ICAgICAgIChMYXVuY2hlcldpbmRvdzo6dG9nZ2xlRm9udEtlcm5pbmcpOgorICAgICAgICAqIFF0
VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaDoKKyAgICAgICAgKFdpbmRvd09wdGlvbnM6Oldp
bmRvd09wdGlvbnMpOgorICAgICAgICAoV2luZG93T3B0aW9ucyk6CisgICAgICAgIChMYXVuY2hl
cldpbmRvdyk6CisKIDIwMTItMTAtMjkgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmpl
bnNlbkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBGbGFreSBzZWN1cml0eSB0ZXN0cwpkaWZm
IC0tZ2l0IGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAgYi9Ub29scy9R
dFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcAppbmRleCBkOWRkMGY5M2ZhZjhmYTUwYmQ1
Y2MxODc0NzBhODhhM2YxNzk3NDU3Li4yOTUwMjMxZWE5NDlhNTRjYjY5NzUyNTQyYjQ0NzNhZDY4
YzY4MDk3IDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNw
cAorKysgYi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcApAQCAtNDc3LDYg
KzQ3NywxMCBAQCB2b2lkIExhdW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUoKQogI2VuZGlmCiAg
ICAgdG9nZ2xlU2Nyb2xsQW5pbWF0b3ItPnNldENoZWNrZWQoZmFsc2UpOwogCisgICAgUUFjdGlv
biogdG9nZ2xlRm9udEtlcm5pbmcgPSBzZXR0aW5nc01lbnUtPmFkZEFjdGlvbigiRW5hYmxlIEZv
bnQgS2VybmluZyIsIHRoaXMsIFNMT1QodG9nZ2xlRm9udEtlcm5pbmcoYm9vbCkpKTsKKyAgICB0
b2dnbGVGb250S2VybmluZy0+c2V0Q2hlY2thYmxlKHRydWUpOworICAgIHRvZ2dsZUZvbnRLZXJu
aW5nLT5zZXRDaGVja2VkKGZhbHNlKTsKKwogICAgIFFBY3Rpb24qIHRvZ2dsZUludGVycnVwdGlu
Z0phdmFTY3JpcHRlRW5hYmxlZCA9IHNldHRpbmdzTWVudS0+YWRkQWN0aW9uKCJFbmFibGUgaW50
ZXJydXB0aW5nIGpzIHNjcmlwdHMiLCB0aGlzLCBTTE9UKHRvZ2dsZUludGVycnVwdGluZ0phdmFT
Y3JpcHRFbmFibGVkKGJvb2wpKSk7CiAgICAgdG9nZ2xlSW50ZXJydXB0aW5nSmF2YVNjcmlwdGVF
bmFibGVkLT5zZXRDaGVja2FibGUodHJ1ZSk7CiAgICAgdG9nZ2xlSW50ZXJydXB0aW5nSmF2YVNj
cmlwdGVFbmFibGVkLT5zZXRDaGVja2VkKGZhbHNlKTsKQEAgLTEwOTksNiArMTEwMywxMiBAQCB2
b2lkIExhdW5jaGVyV2luZG93Ojp0b2dnbGVTY3JvbGxBbmltYXRvcihib29sIHRvZ2dsZSkKICAg
ICBwYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OlNjcm9sbEFu
aW1hdG9yRW5hYmxlZCwgdG9nZ2xlKTsKIH0KIAordm9pZCBMYXVuY2hlcldpbmRvdzo6dG9nZ2xl
Rm9udEtlcm5pbmcoYm9vbCB0b2dnbGUpCit7CisgICAgbV93aW5kb3dPcHRpb25zLmVuYWJsZUZv
bnRLZXJuaW5nID0gdG9nZ2xlOworICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRl
KFFXZWJTZXR0aW5nczo6S2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQsIHRvZ2ds
ZSk7Cit9CisKIExhdW5jaGVyV2luZG93KiBMYXVuY2hlcldpbmRvdzo6bmV3V2luZG93KCkKIHsK
ICAgICBMYXVuY2hlcldpbmRvdyogbXcgPSBuZXcgTGF1bmNoZXJXaW5kb3coJm1fd2luZG93T3B0
aW9ucyk7CmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93Lmgg
Yi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmgKaW5kZXggM2RlODY2N2ZhOTYz
M2FhM2VlNzIxY2NiNGViMzRkNWU0MzVlZDRmYy4uNDg0OWIxNmJiNThhYmMyNGI2NTc5YzhlMDZi
NGVlNThhMjVjYWFiOSAxMDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndp
bmRvdy5oCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaApAQCAtNzgs
NiArNzgsNyBAQCBwdWJsaWM6CiAgICAgICAgICwgdXNlT2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2Fj
aGUoZmFsc2UpCiAgICAgICAgICwgdXNlRGlza0Nvb2tpZXModHJ1ZSkKICAgICAgICAgLCBlbmFi
bGVTY3JvbGxBbmltYXRvcihmYWxzZSkKKyAgICAgICAgLCBlbmFibGVGb250S2VybmluZyhmYWxz
ZSkKICAgICAgICAgLCBvZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YVNpemUoMCkKICNpZm5kZWYg
UVRfTk9fT1BFTkdMCiAgICAgICAgICwgdXNlUUdMV2lkZ2V0Vmlld3BvcnQoZmFsc2UpCkBAIC0x
MDIsNiArMTAzLDcgQEAgcHVibGljOgogICAgIGJvb2wgdXNlT2ZmbGluZVdlYkFwcGxpY2F0aW9u
Q2FjaGU7CiAgICAgYm9vbCB1c2VEaXNrQ29va2llczsKICAgICBib29sIGVuYWJsZVNjcm9sbEFu
aW1hdG9yOworICAgIGJvb2wgZW5hYmxlRm9udEtlcm5pbmc7CiAgICAgcXVpbnQ2NCBvZmZsaW5l
U3RvcmFnZURlZmF1bHRRdW90YVNpemU7CiAjaWZuZGVmIFFUX05PX09QRU5HTAogICAgIGJvb2wg
dXNlUUdMV2lkZ2V0Vmlld3BvcnQ7CkBAIC0xNjUsNiArMTY3LDcgQEAgcHJvdGVjdGVkIFFfU0xP
VFM6CiAgICAgdm9pZCB0b2dnbGVPZmZsaW5lU3RvcmFnZURhdGFiYXNlKGJvb2wgdG9nZ2xlKTsK
ICAgICB2b2lkIHRvZ2dsZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlKGJvb2wgdG9nZ2xlKTsK
ICAgICB2b2lkIHRvZ2dsZVNjcm9sbEFuaW1hdG9yKGJvb2wgdG9nZ2xlKTsKKyAgICB2b2lkIHRv
Z2dsZUZvbnRLZXJuaW5nKGJvb2wgdG9nZ2xlKTsKICAgICB2b2lkIHNldE9mZmxpbmVTdG9yYWdl
RGVmYXVsdFF1b3RhKCk7CiAjaWZuZGVmIFFUX05PX0xJTkVFRElUCiAgICAgdm9pZCBzaG93Rmlu
ZEJhcigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171658</attachid>
            <date>2012-10-31 07:43:22 -0700</date>
            <delta_ts>2012-10-31 08:40:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100106-20121031154123.patch</filename>
            <type>text/plain</type>
            <size>33903</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY3YjM1MDU4MWZkNTIx
ZjE5Y2ZhNDY4N2FjOGE0MDczMjE0ZWRkOC4uNTcxZWQzOTY0OGNmMzkyZjM3N2RlMzBlMTk3OGMy
NDM1YmZlMDU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDEyLTEwLTMxICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCisgICAgICAgIFtR
dF0gTWFrZSBkZWZhdWx0IHR5cGVzZXR0aW5ncyBjb25maWd1cmFibGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDEwNgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmVzIHRoZSBkZWZhdWx0VHlwZXNl
dHRpbmdGZWF0dXJlcyBzZXR0aW5nIGZyb20gYmVpbmcgYSBzdGF0aWMgdmFyaWFibGUKKyAgICAg
ICAgaW4gRm9udC5oIHRvIGJlaW5nIGEgcHJvcGVyIHBhZ2Ugc2V0dGluZy4gCisKKyAgICAgICAg
VGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBkeW5hbWljYWxseSBjaGFuZ2UgaXQgYW5kIGVuc3Vy
aW5nIHRoYXQgZnVsbCByZXN0eWxlcyBhcmUgdHJpZ2dlcmVkLgorCisgICAgICAgICogY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRp
dmVWYWx1ZTo6b3BlcmF0b3IgRm9udERlc2NyaXB0aW9uOjpLZXJuaW5nU3RhdGUpOgorICAgICAg
ICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVy
OjpTdHlsZUJ1aWxkZXIpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OnN0eWxlRm9yRG9jdW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJlc29sdmVyOjppbml0aWFsaXplRm9udFN0eWxlKToKKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAg
ICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0RGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMpOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFNldHRpbmdzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjpkZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlcyk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6dHlw
ZXNldHRpbmdGZWF0dXJlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2Ny
aXB0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246OkZvbnREZXNjcmlw
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246OmRlZmF1bHRUeXBlc2V0
dGluZ0ZlYXR1cmVzKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbjo6a2Vybmlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246OnNldERlZmF1bHRUeXBlc2V0
dGluZ0ZlYXR1cmVzKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbjo6c2V0S2Vy
bmluZyk6CisgICAgICAgIChGb250RGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dERlc2NyaXB0aW9uOjp0eXBlc2V0dGluZ0ZlYXR1cmVzKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRW1iZWRk
ZWRPYmplY3Q6OmdldFJlcGxhY2VtZW50VGV4dEdlb21ldHJ5KToKKworMjAxMi0xMC0zMSAgQWxs
YW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KKwogICAgICAgICBS
ZXNldCBiaW5kaW5nIHRlc3QgcmVzdWx0IGFmdGVyIHIxMzI5NzMKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5MTc4CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXgg
MGMzZmYyYmZmY2JlMTc2ZDA1YWQ2MmMyMTlkZDFjZTRlNDBkYTFjOC4uNDc3NzMzNjZlZDFjNGJi
YjFjNzcyOWJjYjcwMmEyNjY3MTcyYjNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxMi0xMC0zMSAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lh
LmNvbT4KKworICAgICAgICBbUXRdIE1ha2UgZGVmYXVsdCB0eXBlc2V0dGluZ3MgY29uZmlndXJh
YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAx
MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBv
cnQgdGhlIG9wdGlvbiBLZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxlZCwgd2hpY2ggaXMgZGVmYXVs
dCBvZmYuCisKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKFFXZWJT
ZXR0aW5nc1ByaXZhdGU6OmFwcGx5KToKKyAgICAgICAgKFFXZWJTZXR0aW5nczo6UVdlYlNldHRp
bmdzKToKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmg6CisKIDIwMTItMTAtMzAgIE1pa2hh
aWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CiAKICAgICAgICAg
W1FUXVtEUlRdIFJlbW92ZSB1bm5lZWRlZCB0ZXN0UnVubmVyLnNldE1lZGlhVHlwZSgpIGltcGxl
bWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzJjZTFmMWRjYjkwNGU4YjllZmIzYjQxMWI5ZGIyOTJk
NmI1YTRhNy4uMWYzNjJlMTBlMzU0NDQxZjhhNjMxOTg2NmJjOGJmZDhmMjRmYzRiMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTEwLTMxICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4g
IDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIFtRdF0gTWFrZSBkZWZhdWx0IHR5
cGVzZXR0aW5ncyBjb25maWd1cmFibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMDEwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE1vdmVzIHRoZSBwYXJhbWV0ZXIgU2hvdWxkRW5hYmxlS2VybmluZ0Fu
ZExpZ2F0dXJlc0J5RGVmYXVsdCBmcm9tIE1hYy1vbmx5IHRvIGJlaW5nCisgICAgICAgIGEgZ2Vu
ZXJpYyBXZWJQcmVmZXJlbmNlLCB3aGlsZSBlbnN1cmluZyB0aGUgTWFjIHBvcnQgY2FuIHN0aWxs
IHNldCBpdCB0aHJvdWdoIGEgCisgICAgICAgIFdlYlByb2Nlc3NDcmVhdGlvbiBwYXJhbWV0ZXIu
CisKKyAgICAgICAgRmluYWxseSBpdCBleHBvcnRzIHRoZSBzZXR0aW5nIGluIFFXZWJQcmVmZXJl
bmNlcyB0byBnaXZlIHVzZXJzIHRoZSBzYW1lIGZlYXR1cmUgYXMgaW4gCisgICAgICAgIFF0V2Vi
S2l0KDEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3ZWJwcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChRV2Vi
UHJlZmVyZW5jZXNQcml2YXRlOjp0ZXN0QXR0cmlidXRlKToKKyAgICAgICAgKFFXZWJQcmVmZXJl
bmNlc1ByaXZhdGU6OnNldEF0dHJpYnV0ZSk6CisgICAgICAgIChRV2ViUHJlZmVyZW5jZXM6Omtl
cm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkKToKKyAgICAgICAgKFFXZWJQcmVmZXJlbmNlczo6c2V0
S2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
cXdlYnByZWZlcmVuY2VzX3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3ZWJwcmVm
ZXJlbmNlc19wX3AuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
c2hvdWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCk6CisgICAgICAgIChXZWJQ
cm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToK
KwogMjAxMi0xMC0zMSAgQnl1bmd3b28gTGVlICA8Ync4MC5sZWVAc2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgW1dLMl0gQ2hhbmdlIHRoZSBzY29wZSBvZiBsb2NraW5nIGluIENvcmVJUEM6OkNvbm5l
Y3Rpb24gY2xhc3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFw
cGluZ3MuaAppbmRleCA2YmU4ZTNhYzFiZmViNGViODNkOTM0ZGJlMWVmNDQ0YzZlN2U4NjUzLi42
Y2UyYWQxNDM4OTA2NjRhYjA4YzJmNmI3MDUyMTc1Mzc1MDc0ZDliIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTI5NzYsNyArMjk3Niw3
IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFUG9pbnRl
ckV2ZW50cygpIGNvbnN0CiAgICAgcmV0dXJuIFBFX0FMTDsKIH0KIAotdGVtcGxhdGU8PiBpbmxp
bmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEZvbnREZXNjcmlwdGlvbjo6
S2VybmluZyBrZXJuaW5nKQordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKEZvbnREZXNjcmlwdGlvbjo6S2VybmluZ1N0YXRlIGtlcm5pbmcpCiAg
ICAgOiBDU1NWYWx1ZShQcmltaXRpdmVDbGFzcykKIHsKICAgICBtX3ByaW1pdGl2ZVVuaXRUeXBl
ID0gQ1NTX0lERU5UOwpAQCAtMjk5Niw3ICsyOTk2LDcgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEZvbnREZXNjcmlwdGlvbjo6S2Vybmlu
ZwogICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUF1dG87CiB9CiAKLXRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBGb250RGVzY3JpcHRpb246Oktlcm5pbmco
KSBjb25zdAordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEZv
bnREZXNjcmlwdGlvbjo6S2VybmluZ1N0YXRlKCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fdmFs
dWUuaWRlbnQpIHsKICAgICBjYXNlIENTU1ZhbHVlQXV0bzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVp
bGRlci5jcHAKaW5kZXggMDUwMWRjOWQxMzMyYjc2OGJjN2IxM2M0YzkwZmZiMDk4YTg1NGUyZi4u
MmZkMTQ2ZGM5NDkzOThkMzUzNjFhZTM3OTAyZDBmOTljZmE5ZWVmYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlQnVpbGRlci5jcHAKQEAgLTE5OTIsNyArMTk5Miw3IEBAIFN0eWxlQnVpbGRlcjo6U3R5
bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRGbG93
RnJvbSwgQXBwbHlQcm9wZXJ0eVN0cmluZzxNYXBOb25lVG9OdWxsLCAmUmVuZGVyU3R5bGU6OnJl
Z2lvblRocmVhZCwgJlJlbmRlclN0eWxlOjpzZXRSZWdpb25UaHJlYWQsICZSZW5kZXJTdHlsZTo6
aW5pdGlhbFJlZ2lvblRocmVhZD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlI
YW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Rmxvd0ludG8sIEFwcGx5UHJvcGVydHlTdHJpbmc8TWFw
Tm9uZVRvTnVsbCwgJlJlbmRlclN0eWxlOjpmbG93VGhyZWFkLCAmUmVuZGVyU3R5bGU6OnNldEZs
b3dUaHJlYWQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbEZsb3dUaHJlYWQ+OjpjcmVhdGVIYW5kbGVy
KCkpOwogI2VuZGlmCi0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Rm9u
dEtlcm5pbmcsIEFwcGx5UHJvcGVydHlGb250PEZvbnREZXNjcmlwdGlvbjo6S2VybmluZywgJkZv
bnREZXNjcmlwdGlvbjo6a2VybmluZywgJkZvbnREZXNjcmlwdGlvbjo6c2V0S2VybmluZywgRm9u
dERlc2NyaXB0aW9uOjpBdXRvS2VybmluZz46OmNyZWF0ZUhhbmRsZXIoKSk7CisgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Rm9udEtlcm5pbmcsIEFwcGx5UHJvcGVydHlG
b250PEZvbnREZXNjcmlwdGlvbjo6S2VybmluZ1N0YXRlLCAmRm9udERlc2NyaXB0aW9uOjprZXJu
aW5nLCAmRm9udERlc2NyaXB0aW9uOjpzZXRLZXJuaW5nLCBGb250RGVzY3JpcHRpb246OkF1dG9L
ZXJuaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlXZWJraXRGb250U21vb3RoaW5nLCBBcHBseVByb3BlcnR5Rm9udDxGb250U21vb3RoaW5n
TW9kZSwgJkZvbnREZXNjcmlwdGlvbjo6Zm9udFNtb290aGluZywgJkZvbnREZXNjcmlwdGlvbjo6
c2V0Rm9udFNtb290aGluZywgQXV0b1Ntb290aGluZz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Rm9udFZhcmlhbnRMaWdhdHVyZXMs
IEFwcGx5UHJvcGVydHlGb250VmFyaWFudExpZ2F0dXJlczo6Y3JlYXRlSGFuZGxlcigpKTsKICAg
ICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRIaWdobGlnaHQsIEFwcGx5UHJv
cGVydHlTdHJpbmc8TWFwTm9uZVRvTnVsbCwgJlJlbmRlclN0eWxlOjpoaWdobGlnaHQsICZSZW5k
ZXJTdHlsZTo6c2V0SGlnaGxpZ2h0LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxIaWdobGlnaHQ+Ojpj
cmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IGI0
ODRlMTY5ZTEyOWI0MjU5ZWVjYmU2MGNjNmI0YzdlMGFiOGMwNDkuLjIxOWFlNWRhZTczOTRhMTQ1
NTc3MDQwY2E3MWUxMGFkMTdhYTU0MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAKQEAgLTE0ODMsNiArMTQ4Myw3IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFN0eWxlUmVz
b2x2ZXI6OnN0eWxlRm9yRG9jdW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBDU1NGCiAgICAgaWYg
KFNldHRpbmdzKiBzZXR0aW5ncyA9IGRvY3VtZW50LT5zZXR0aW5ncygpKSB7CiAgICAgICAgIGZv
bnREZXNjcmlwdGlvbi5zZXRVc2VQcmludGVyRm9udChkb2N1bWVudC0+cHJpbnRpbmcoKSB8fCAh
c2V0dGluZ3MtPnNjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkKCkpOwogICAgICAgICBmb250
RGVzY3JpcHRpb24uc2V0UmVuZGVyaW5nTW9kZShzZXR0aW5ncy0+Zm9udFJlbmRlcmluZ01vZGUo
KSk7CisgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXREZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJl
cyhzZXR0aW5ncy0+ZGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMoKSk7CiAgICAgICAgIGNvbnN0
IEF0b21pY1N0cmluZyYgc3RhbmRhcmRGb250ID0gc2V0dGluZ3MtPnN0YW5kYXJkRm9udEZhbWls
eShmb250RGVzY3JpcHRpb24uc2NyaXB0KCkpOwogICAgICAgICBpZiAoIXN0YW5kYXJkRm9udC5p
c0VtcHR5KCkpIHsKICAgICAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRHZW5lcmljRmFtaWx5
KEZvbnREZXNjcmlwdGlvbjo6U3RhbmRhcmRGYW1pbHkpOwpAQCAtMzEzMCw2ICszMTMxLDcgQEAg
dm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1Zh
bHVlKiB2YWx1ZSkKICAgICAgICAgICAgICAgICBpZiAoIXNldHRpbmdzKQogICAgICAgICAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldFJlbmRl
cmluZ01vZGUoc2V0dGluZ3MtPmZvbnRSZW5kZXJpbmdNb2RlKCkpOworICAgICAgICAgICAgICAg
IGZvbnREZXNjcmlwdGlvbi5zZXREZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlcyhzZXR0aW5ncy0+
ZGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMoKSk7CiAgICAgICAgICAgICAgICAgZm9udERlc2Ny
aXB0aW9uLnNldFVzZVByaW50ZXJGb250KG1fY2hlY2tlci5kb2N1bWVudCgpLT5wcmludGluZygp
IHx8ICFzZXR0aW5ncy0+c2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQoKSk7CiAKICAgICAg
ICAgICAgICAgICAvLyBIYW5kbGUgdGhlIHpvb20gZmFjdG9yLgpAQCAtNDAxMSw2ICs0MDEzLDcg
QEAgdm9pZCBTdHlsZVJlc29sdmVyOjppbml0aWFsaXplRm9udFN0eWxlKFNldHRpbmdzKiBzZXR0
aW5ncykKICAgICBGb250RGVzY3JpcHRpb24gZm9udERlc2NyaXB0aW9uOwogICAgIGZvbnREZXNj
cmlwdGlvbi5zZXRHZW5lcmljRmFtaWx5KEZvbnREZXNjcmlwdGlvbjo6U3RhbmRhcmRGYW1pbHkp
OwogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRSZW5kZXJpbmdNb2RlKHNldHRpbmdzLT5mb250UmVu
ZGVyaW5nTW9kZSgpKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0RGVmYXVsdFR5cGVzZXR0aW5n
RmVhdHVyZXMoc2V0dGluZ3MtPmRlZmF1bHRUeXBlc2V0dGluZ0ZlYXR1cmVzKCkpOwogICAgIGZv
bnREZXNjcmlwdGlvbi5zZXRVc2VQcmludGVyRm9udChtX2NoZWNrZXIuZG9jdW1lbnQoKS0+cHJp
bnRpbmcoKSB8fCAhc2V0dGluZ3MtPnNjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkKCkpOwog
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc3RhbmRhcmRGb250RmFtaWx5ID0gZG9jdW1lbnRTZXR0
aW5ncygpLT5zdGFuZGFyZEZvbnRGYW1pbHkoKTsKICAgICBpZiAoIXN0YW5kYXJkRm9udEZhbWls
eS5pc0VtcHR5KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggNjEzYzU2YWQ1NTM0
ZDJhYTJlZTljMDI1OTA5MTRkNjRmM2E2YmYzYS4uMDMyOWIwZWMyMGRiYTdmZWMwN2NiMTRhYzVh
MmIxZDRjMjNkNWZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTMyLDYgKzMyLDcg
QEAKICNpbmNsdWRlICJET01UaW1lci5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGb250LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNp
bmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKQEAgLTEzNyw2ICsx
MzgsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fZGVmYXVsdEZv
bnRTaXplKDApCiAgICAgLCBtX2RlZmF1bHRGaXhlZEZvbnRTaXplKDApCiAgICAgLCBtX3NjcmVl
bkZvbnRTdWJzdGl0dXRpb25FbmFibGVkKHRydWUpCisgICAgLCBtX2RlZmF1bHRUeXBlc2V0dGlu
Z0ZlYXR1cmVzKEZvbnQ6OmRlZmF1bHRUeXBlc2V0dGluZ0ZlYXR1cmVzKCkpCiAgICAgLCBtX3Zh
bGlkYXRpb25NZXNzYWdlVGltZXJNYWduaWZpY2F0aW9uKDUwKQogICAgICwgbV9taW5pbXVtQWNj
ZWxlcmF0ZWQyZENhbnZhc1NpemUoMjU3ICogMjU2KQogICAgICwgbV9sYXlvdXRGYWxsYmFja1dp
ZHRoKDk4MCkKQEAgLTQzNyw2ICs0MzksMTUgQEAgdm9pZCBTZXR0aW5nczo6c2V0U2NyZWVuRm9u
dFN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbCBzY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmwKICAg
ICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOwogfQogCit2b2lkIFNl
dHRpbmdzOjpzZXREZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlcyhUeXBlc2V0dGluZ0ZlYXR1cmVz
IGRlZmF1bHRUeXBlc2V0dGluZ0ZlYXR1cmVzKQoreworICAgIGlmIChtX2RlZmF1bHRUeXBlc2V0
dGluZ0ZlYXR1cmVzID09IGRlZmF1bHRUeXBlc2V0dGluZ0ZlYXR1cmVzKQorICAgICAgICByZXR1
cm47CisKKyAgICBtX2RlZmF1bHRUeXBlc2V0dGluZ0ZlYXR1cmVzID0gZGVmYXVsdFR5cGVzZXR0
aW5nRmVhdHVyZXM7CisgICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMo
KTsKK30KKwogI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiB2b2lkIFNldHRpbmdzOjpzZXRU
ZXh0QXV0b3NpemluZ0VuYWJsZWQoYm9vbCB0ZXh0QXV0b3NpemluZ0VuYWJsZWQpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmgKaW5kZXggZjA1M2Y1NDFlZDUwYjkyNDczNDMxMTE3MTJkY2U4ZWY4MGY1
MWI3ZC4uMjhjNjIxNDRiN2ZhZDFmYjdkZmNlYWZjZjFhN2JkOGQ0MTk0YTYwZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNs
dWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSAiVHlw
ZXNldHRpbmdGZWF0dXJlcy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
SGFzaC5oPgpAQCAtMTA4LDYgKzEwOSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dm9pZCBzZXRTY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZChib29sKTsKICAgICAgICAgYm9v
bCBzY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyZWVu
Rm9udFN1YnN0aXR1dGlvbkVuYWJsZWQ7IH0KIAorICAgICAgICB2b2lkIHNldERlZmF1bHRUeXBl
c2V0dGluZ0ZlYXR1cmVzKFR5cGVzZXR0aW5nRmVhdHVyZXMpOworICAgICAgICBib29sIGRlZmF1
bHRUeXBlc2V0dGluZ0ZlYXR1cmVzKCkgY29uc3QgeyByZXR1cm4gbV9kZWZhdWx0VHlwZXNldHRp
bmdGZWF0dXJlczsgfQorCiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICAgICAgdm9p
ZCBzZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgdGV4dEF1dG9z
aXppbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0QXV0b3NpemluZ0VuYWJsZWQ7IH0K
QEAgLTY4MCw2ICs2ODQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGludCBtX2Rl
ZmF1bHRGb250U2l6ZTsKICAgICAgICAgaW50IG1fZGVmYXVsdEZpeGVkRm9udFNpemU7CiAgICAg
ICAgIGJvb2wgbV9zY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZDsKKyAgICAgICAgVHlwZXNl
dHRpbmdGZWF0dXJlcyBtX2RlZmF1bHRUeXBlc2V0dGluZ0ZlYXR1cmVzOwogICAgICAgICBpbnQg
bV92YWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNhdGlvbjsKICAgICAgICAgaW50IG1fbWlu
aW11bUFjY2VsZXJhdGVkMmRDYW52YXNTaXplOwogICAgICAgICBpbnQgbV9sYXlvdXRGYWxsYmFj
a1dpZHRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IGFhYmNi
MmU3MDBkOTQ1MzFjZjE1Y2NlNDA4ZmZkYWQyYmQ2NmZmZTMuLjEzMjQ4MmI3Y2NmNDdmMjMwNzk0
NDkwN2FkYzc4NGY2MzA0YWNkYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250LmgKQEAgLTEyMCw0OCArMTIwLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNQcmludGVyRm9u
dCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9udERlc2NyaXB0aW9uLnVzZVByaW50ZXJGb250KCk7IH0K
ICAgICAKICAgICBGb250UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlKCkgY29uc3QgeyByZXR1
cm4gbV9mb250RGVzY3JpcHRpb24ucmVuZGVyaW5nTW9kZSgpOyB9Ci0KLSAgICBUeXBlc2V0dGlu
Z0ZlYXR1cmVzIHR5cGVzZXR0aW5nRmVhdHVyZXMoKSBjb25zdAotICAgIHsKLSAgICAgICAgVGV4
dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUgPSBtX2ZvbnREZXNjcmlwdGlvbi50ZXh0
UmVuZGVyaW5nTW9kZSgpOwotICAgICAgICBUeXBlc2V0dGluZ0ZlYXR1cmVzIGZlYXR1cmVzID0g
c19kZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlczsKLQotICAgICAgICBzd2l0Y2godGV4dFJlbmRl
cmluZ01vZGUpIHsKLSAgICAgICAgY2FzZSBBdXRvVGV4dFJlbmRlcmluZzoKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIE9wdGltaXplU3BlZWQ6Ci0gICAgICAgICAgICBmZWF0dXJl
cyAmPSB+KEtlcm5pbmcgfCBMaWdhdHVyZXMpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgR2VvbWV0cmljUHJlY2lzaW9uOgotICAgICAgICBjYXNlIE9wdGltaXplTGVnaWJpbGl0
eToKLSAgICAgICAgICAgIGZlYXR1cmVzIHw9IEtlcm5pbmcgfCBMaWdhdHVyZXM7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotCi0gICAgICAgIHN3aXRjaCAobV9mb250RGVzY3JpcHRp
b24ua2VybmluZygpKSB7Ci0gICAgICAgIGNhc2UgRm9udERlc2NyaXB0aW9uOjpOb25lS2Vybmlu
ZzoKLSAgICAgICAgICAgIGZlYXR1cmVzICY9IH5LZXJuaW5nOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgRm9udERlc2NyaXB0aW9uOjpOb3JtYWxLZXJuaW5nOgotICAgICAgICAg
ICAgZmVhdHVyZXMgfD0gS2VybmluZzsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IEZvbnREZXNjcmlwdGlvbjo6QXV0b0tlcm5pbmc6Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotCi0gICAgICAgIHN3aXRjaCAobV9mb250RGVzY3JpcHRpb24uY29tbW9uTGlnYXR1cmVz
U3RhdGUoKSkgewotICAgICAgICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6RGlzYWJsZWRMaWdhdHVy
ZXNTdGF0ZToKLSAgICAgICAgICAgIGZlYXR1cmVzICY9IH5MaWdhdHVyZXM7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSBGb250RGVzY3JpcHRpb246OkVuYWJsZWRMaWdhdHVyZXNT
dGF0ZToKLSAgICAgICAgICAgIGZlYXR1cmVzIHw9IExpZ2F0dXJlczsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6Tm9ybWFsTGlnYXR1cmVzU3RhdGU6
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBmZWF0dXJl
czsKLSAgICB9CisgICAgVHlwZXNldHRpbmdGZWF0dXJlcyB0eXBlc2V0dGluZ0ZlYXR1cmVzKCkg
Y29uc3QgeyByZXR1cm4gbV9mb250RGVzY3JpcHRpb24udHlwZXNldHRpbmdGZWF0dXJlcygpOyB9
CiAKICAgICBGb250RmFtaWx5JiBmaXJzdEZhbWlseSgpIHsgcmV0dXJuIG1fZm9udERlc2NyaXB0
aW9uLmZpcnN0RmFtaWx5KCk7IH0KICAgICBjb25zdCBGb250RmFtaWx5JiBmYW1pbHkoKSBjb25z
dCB7IHJldHVybiBtX2ZvbnREZXNjcmlwdGlvbi5mYW1pbHkoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaAppbmRleCA0NDM2ODc1
OWQwZDZhZTYxNGEzOGQ3YmNhOGU3YTBiM2NmOTdiMDQwLi5lY2NkNzQ5YjM3YTYyYjJkODkwYmJj
MzNiN2QxZmMwM2FiYjk4ODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGVzY3JpcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGVzY3JpcHRpb24uaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkZv
bnRXaWR0aFZhcmlhbnQuaCIKICNpbmNsdWRlICJUZXh0T3JpZW50YXRpb24uaCIKICNpbmNsdWRl
ICJUZXh0UmVuZGVyaW5nTW9kZS5oIgorI2luY2x1ZGUgIlR5cGVzZXR0aW5nRmVhdHVyZXMuaCIK
ICNpbmNsdWRlICJXZWJLaXRGb250RmFtaWx5TmFtZXMuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4
dHJhcy5oPgogCkBAIC03Miw3ICs3Myw3IEBAIHB1YmxpYzoKICAgICBlbnVtIEdlbmVyaWNGYW1p
bHlUeXBlIHsgTm9GYW1pbHksIFN0YW5kYXJkRmFtaWx5LCBTZXJpZkZhbWlseSwgU2Fuc1Nlcmlm
RmFtaWx5LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9ub3NwYWNlRmFtaWx5LCBD
dXJzaXZlRmFtaWx5LCBGYW50YXN5RmFtaWx5LCBQaWN0b2dyYXBoRmFtaWx5IH07CiAKLSAgICBl
bnVtIEtlcm5pbmcgeyBBdXRvS2VybmluZywgTm9ybWFsS2VybmluZywgTm9uZUtlcm5pbmcgfTsK
KyAgICBlbnVtIEtlcm5pbmdTdGF0ZSB7IEF1dG9LZXJuaW5nLCBOb3JtYWxLZXJuaW5nLCBOb25l
S2VybmluZyB9OwogCiAgICAgZW51bSBMaWdhdHVyZXNTdGF0ZSB7IE5vcm1hbExpZ2F0dXJlc1N0
YXRlLCBEaXNhYmxlZExpZ2F0dXJlc1N0YXRlLCBFbmFibGVkTGlnYXR1cmVzU3RhdGUgfTsKIApA
QCAtODksNiArOTAsNyBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9nZW5lcmljRmFtaWx5KE5vRmFt
aWx5KQogICAgICAgICAsIG1fdXNlUHJpbnRlckZvbnQoZmFsc2UpCiAgICAgICAgICwgbV9yZW5k
ZXJpbmdNb2RlKE5vcm1hbFJlbmRlcmluZ01vZGUpCisgICAgICAgICwgbV9kZWZhdWx0VHlwZXNl
dHRpbmdGZWF0dXJlcygwKQogICAgICAgICAsIG1fa2VybmluZyhBdXRvS2VybmluZykKICAgICAg
ICAgLCBtX2NvbW1vbkxpZ2F0dXJlc1N0YXRlKE5vcm1hbExpZ2F0dXJlc1N0YXRlKQogICAgICAg
ICAsIG1fZGlzY3JldGlvbmFyeUxpZ2F0dXJlc1N0YXRlKE5vcm1hbExpZ2F0dXJlc1N0YXRlKQpA
QCAtMTIwLDcgKzEyMiw4IEBAIHB1YmxpYzoKICAgICAvLyBvbmx5IHVzZSBmaXhlZCBkZWZhdWx0
IHNpemUgd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBmb250IGZhbWlseSwgYW5kIHRoYXQgZmFtaWx5
IGlzICJtb25vc3BhY2UiCiAgICAgYm9vbCB1c2VGaXhlZERlZmF1bHRTaXplKCkgY29uc3QgeyBy
ZXR1cm4gZ2VuZXJpY0ZhbWlseSgpID09IE1vbm9zcGFjZUZhbWlseSAmJiAhZmFtaWx5KCkubmV4
dCgpICYmIGZhbWlseSgpLmZhbWlseSgpID09IG1vbm9zcGFjZUZhbWlseTsgfQogICAgIEZvbnRS
ZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxG
b250UmVuZGVyaW5nTW9kZT4obV9yZW5kZXJpbmdNb2RlKTsgfQotICAgIEtlcm5pbmcga2Vybmlu
ZygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEtlcm5pbmc+KG1fa2VybmluZyk7IH0KKyAg
ICBUeXBlc2V0dGluZ0ZlYXR1cmVzIGRlZmF1bHRUeXBlc2V0dGluZ0ZlYXR1cmVzKCkgY29uc3Qg
eyByZXR1cm4gbV9kZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlczsgfQorICAgIEtlcm5pbmdTdGF0
ZSBrZXJuaW5nKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8S2VybmluZ1N0YXRlPihtX2tl
cm5pbmcpOyB9CiAgICAgTGlnYXR1cmVzU3RhdGUgY29tbW9uTGlnYXR1cmVzU3RhdGUoKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxMaWdhdHVyZXNTdGF0ZT4obV9jb21tb25MaWdhdHVyZXNT
dGF0ZSk7IH0KICAgICBMaWdhdHVyZXNTdGF0ZSBkaXNjcmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGUo
KSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxMaWdhdHVyZXNTdGF0ZT4obV9kaXNjcmV0aW9u
YXJ5TGlnYXR1cmVzU3RhdGUpOyB9CiAgICAgTGlnYXR1cmVzU3RhdGUgaGlzdG9yaWNhbExpZ2F0
dXJlc1N0YXRlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8TGlnYXR1cmVzU3RhdGU+KG1f
aGlzdG9yaWNhbExpZ2F0dXJlc1N0YXRlKTsgfQpAQCAtMTUzLDcgKzE1Niw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldFVzZVByaW50ZXJGb250KGJvb2wgcCkgeyBtX3VzZVByaW50ZXJGb250ID0g
cDsgfQogI2VuZGlmCiAgICAgdm9pZCBzZXRSZW5kZXJpbmdNb2RlKEZvbnRSZW5kZXJpbmdNb2Rl
IG1vZGUpIHsgbV9yZW5kZXJpbmdNb2RlID0gbW9kZTsgfQotICAgIHZvaWQgc2V0S2VybmluZyhL
ZXJuaW5nIGtlcm5pbmcpIHsgbV9rZXJuaW5nID0ga2VybmluZzsgfQorICAgIHZvaWQgc2V0RGVm
YXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMoVHlwZXNldHRpbmdGZWF0dXJlcyB0eXBlc2V0dGluZ0Zl
YXR1cmVzKSB7IG1fZGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMgPSB0eXBlc2V0dGluZ0ZlYXR1
cmVzOyB9CisgICAgdm9pZCBzZXRLZXJuaW5nKEtlcm5pbmdTdGF0ZSBrZXJuaW5nKSB7IG1fa2Vy
bmluZyA9IGtlcm5pbmc7IH0KICAgICB2b2lkIHNldENvbW1vbkxpZ2F0dXJlc1N0YXRlKExpZ2F0
dXJlc1N0YXRlIGNvbW1vbkxpZ2F0dXJlc1N0YXRlKSB7IG1fY29tbW9uTGlnYXR1cmVzU3RhdGUg
PSBjb21tb25MaWdhdHVyZXNTdGF0ZTsgfQogICAgIHZvaWQgc2V0RGlzY3JldGlvbmFyeUxpZ2F0
dXJlc1N0YXRlKExpZ2F0dXJlc1N0YXRlIGRpc2NyZXRpb25hcnlMaWdhdHVyZXNTdGF0ZSkgeyBt
X2Rpc2NyZXRpb25hcnlMaWdhdHVyZXNTdGF0ZSA9IGRpc2NyZXRpb25hcnlMaWdhdHVyZXNTdGF0
ZTsgfQogICAgIHZvaWQgc2V0SGlzdG9yaWNhbExpZ2F0dXJlc1N0YXRlKExpZ2F0dXJlc1N0YXRl
IGhpc3RvcmljYWxMaWdhdHVyZXNTdGF0ZSkgeyBtX2hpc3RvcmljYWxMaWdhdHVyZXNTdGF0ZSA9
IGhpc3RvcmljYWxMaWdhdHVyZXNTdGF0ZTsgfQpAQCAtMTY3LDYgKzE3MSw0OCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRTY3JpcHQoVVNjcmlwdENvZGUgcykgeyBtX3NjcmlwdCA9IHM7IH0KICAg
ICB2b2lkIHNldEZlYXR1cmVTZXR0aW5ncyhQYXNzUmVmUHRyPEZvbnRGZWF0dXJlU2V0dGluZ3M+
IHNldHRpbmdzKSB7IG1fZmVhdHVyZVNldHRpbmdzID0gc2V0dGluZ3M7IH0KIAorICAgIC8vIENh
bGN1bGF0ZSB0aGUgZWZmZWN0aXZlIHR5cGVzZXR0aW5nIGZlYXR1cmVzIGJhc2VkIG9uIGFsbCB0
aGUgc2V0dGluZ3MgdGhhdCBjb250cm9sIHRoZW0uCisgICAgVHlwZXNldHRpbmdGZWF0dXJlcyB0
eXBlc2V0dGluZ0ZlYXR1cmVzKCkgY29uc3QKKyAgICB7CisgICAgICAgIFR5cGVzZXR0aW5nRmVh
dHVyZXMgZmVhdHVyZXMgPSBkZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlcygpOworCisgICAgICAg
IHN3aXRjaCAodGV4dFJlbmRlcmluZ01vZGUoKSkgeworICAgICAgICBjYXNlIEF1dG9UZXh0UmVu
ZGVyaW5nOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgT3B0aW1pemVTcGVlZDoK
KyAgICAgICAgICAgIGZlYXR1cmVzICY9IH4oS2VybmluZyB8IExpZ2F0dXJlcyk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBHZW9tZXRyaWNQcmVjaXNpb246CisgICAgICAgIGNh
c2UgT3B0aW1pemVMZWdpYmlsaXR5OgorICAgICAgICAgICAgZmVhdHVyZXMgfD0gS2VybmluZyB8
IExpZ2F0dXJlczsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgc3dp
dGNoIChrZXJuaW5nKCkpIHsKKyAgICAgICAgY2FzZSBGb250RGVzY3JpcHRpb246Ok5vbmVLZXJu
aW5nOgorICAgICAgICAgICAgZmVhdHVyZXMgJj0gfktlcm5pbmc7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBGb250RGVzY3JpcHRpb246Ok5vcm1hbEtlcm5pbmc6CisgICAgICAg
ICAgICBmZWF0dXJlcyB8PSBLZXJuaW5nOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgRm9udERlc2NyaXB0aW9uOjpBdXRvS2VybmluZzoKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisKKyAgICAgICAgc3dpdGNoIChjb21tb25MaWdhdHVyZXNTdGF0ZSgpKSB7CisgICAg
ICAgIGNhc2UgRm9udERlc2NyaXB0aW9uOjpEaXNhYmxlZExpZ2F0dXJlc1N0YXRlOgorICAgICAg
ICAgICAgZmVhdHVyZXMgJj0gfkxpZ2F0dXJlczsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6RW5hYmxlZExpZ2F0dXJlc1N0YXRlOgorICAgICAgICAg
ICAgZmVhdHVyZXMgfD0gTGlnYXR1cmVzOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgRm9udERlc2NyaXB0aW9uOjpOb3JtYWxMaWdhdHVyZXNTdGF0ZToKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZlYXR1cmVzOworICAgIH0KKwogcHJp
dmF0ZToKICAgICBGb250RmFtaWx5IG1fZmFtaWx5TGlzdDsgLy8gVGhlIGxpc3Qgb2YgZm9udCBm
YW1pbGllcyB0byBiZSB1c2VkLgogICAgIFJlZlB0cjxGb250RmVhdHVyZVNldHRpbmdzPiBtX2Zl
YXR1cmVTZXR0aW5nczsKQEAgLTE4OSw2ICsyMzUsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVk
IG1fdXNlUHJpbnRlckZvbnQgOiAxOwogCiAgICAgdW5zaWduZWQgbV9yZW5kZXJpbmdNb2RlIDog
MTsgIC8vIFVzZWQgdG8gc3dpdGNoIGJldHdlZW4gQ0cgYW5kIEdESSB0ZXh0IG9uIFdpbmRvd3Mu
CisgICAgdW5zaWduZWQgbV9kZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlcyA6IDI7IC8vIFVzZWQg
dG8gY29udHJvbCB3aGF0IGF1dG8ga2VybmluZyBhbmQgbm9ybWFsIGxpZ2F0dXJlcyBpbXBsaWVz
LgogICAgIHVuc2lnbmVkIG1fa2VybmluZyA6IDI7IC8vIEtlcm5pbmcKIAogICAgIHVuc2lnbmVk
IG1fY29tbW9uTGlnYXR1cmVzU3RhdGUgOiAyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAKaW5kZXggYzgyNmVhYTE5ZjU3OGYwNGY2YjIw
N2ZmNjgzNmFhMjA1MTFkOTdkYi4uYmNjNmY0N2EwYWJmNDM5N2E0OGNmMzIwNmRmN2Q1MTA0Zjhk
YWEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVk
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRP
YmplY3QuY3BwCkBAIC0yMTMsNiArMjEzLDcgQEAgYm9vbCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6
Z2V0UmVwbGFjZW1lbnRUZXh0R2VvbWV0cnkoY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWwKICAg
ICBpZiAoIXNldHRpbmdzKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgZm9udERlc2NyaXB0
aW9uLnNldFJlbmRlcmluZ01vZGUoc2V0dGluZ3MtPmZvbnRSZW5kZXJpbmdNb2RlKCkpOworICAg
IGZvbnREZXNjcmlwdGlvbi5zZXREZWZhdWx0VHlwZXNldHRpbmdGZWF0dXJlcyhzZXR0aW5ncy0+
ZGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMoKSk7CiAgICAgZm9udERlc2NyaXB0aW9uLnNldENv
bXB1dGVkU2l6ZShmb250RGVzY3JpcHRpb24uc3BlY2lmaWVkU2l6ZSgpKTsKICAgICBmb250ID0g
Rm9udChmb250RGVzY3JpcHRpb24sIDAsIDApOwogICAgIGZvbnQudXBkYXRlKDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKaW5kZXggNzY4YzgwMjU2ZWMxMjY2MTFkM2E4Zjgy
N2NkMWVjOTMxNzJmM2E4My4uODhjMGVlNmE4YmY1MTIyODViOGE1Yjk2NTk4M2FhOTdlODEyYmU2
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCkBAIC00Myw2ICs0Myw3IEBA
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJEYXRhYmFz
ZVRyYWNrZXIuaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiRm9udC5oIgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9u
PgpAQCAtMjc1LDYgKzI3Niw5IEBAIHZvaWQgUVdlYlNldHRpbmdzUHJpdmF0ZTo6YXBwbHkoKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMu
dmFsdWUoUVdlYlNldHRpbmdzOjpOb3RpZmljYXRpb25zRW5hYmxlZCkpOwogICAgICAgICBzZXR0
aW5ncy0+c2V0Tm90aWZpY2F0aW9uc0VuYWJsZWQodmFsdWUpOwogCisgICAgICAgIHZhbHVlID0g
YXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6Oktlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVk
LCBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpLZXJuaW5nQW5kTGlnYXR1
cmVzRW5hYmxlZCkpOworICAgICAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdFR5cGVzZXR0aW5nRmVh
dHVyZXModmFsdWUgPyAoV2ViQ29yZTo6S2VybmluZyB8IFdlYkNvcmU6OkxpZ2F0dXJlcykgOiAw
KTsKKwogICAgICAgICB2YWx1ZSA9IGF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpTaXRl
U3BlY2lmaWNRdWlya3NFbmFibGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpTaXRlU3BlY2lmaWNR
dWlya3NFbmFibGVkKSk7CiAgICAgICAgIHNldHRpbmdzLT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1
aXJrcyh2YWx1ZSk7CkBAIC00OTEsNiArNDk1LDkgQEAgUVdlYlNldHRpbmdzKiBRV2ViU2V0dGlu
Z3M6Omdsb2JhbFNldHRpbmdzKCkKICAgICBcdmFsdWUgQ2FyZXRCcm93c2luZ0VuYWJsZWQgVGhp
cyBzZXR0aW5nIGVuYWJsZXMgY2FyZXQgYnJvd3NpbmcuIEl0IGlzIGRpc2FibGVkIGJ5IGRlZmF1
bHQuCiAgICAgXHZhbHVlIE5vdGlmaWNhdGlvbnNFbmFibGVkIFNwZWNpZmllcyB3aGV0aGVyIHN1
cHBvcnQgZm9yIHRoZSBIVE1MIDUgd2ViIG5vdGlmaWNhdGlvbnMgaXMgZW5hYmxlZAogICAgICAg
ICBvciBub3QuIFRoaXMgaXMgZW5hYmxlZCBieSBkZWZhdWx0LgorICAgIFx2YWx1ZSBLZXJuaW5n
QW5kTGlnYXR1cmVzRW5hYmxlZCBUaGlzIHNldHRpbmcgZW5hYmxlcyBmb250IGtlcm5pbmcgYW5k
IGNvbW1vbiBsaWdhdHVyZXMgZXZlcnl3aGVyZQorICAgICAgICB0aGV5IGhhdmUgbm90IGJlZW4g
ZXhwbGljaXRseSBkaXNhYmxlZC4gRW5hYmxpbmcgdGhpcyBmZWF0dXJlIG1pZ2h0IGhhdmUgYW4g
aW1wYWN0IG9uIHBlcmZvcm1hbmNlCisgICAgICAgIGFuZCBpdCBpcyBkaXNhYmxlZCBieSBkZWZh
dWx0LgogKi8KIAogLyohCkBAIC01NDUsNiArNTUyLDcgQEAgUVdlYlNldHRpbmdzOjpRV2ViU2V0
dGluZ3MoKQogICAgIGQtPmF0dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6U2Nyb2xsQW5p
bWF0b3JFbmFibGVkLCBmYWxzZSk7CiAgICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRp
bmdzOjpDYXJldEJyb3dzaW5nRW5hYmxlZCwgZmFsc2UpOwogICAgIGQtPmF0dHJpYnV0ZXMuaW5z
ZXJ0KFFXZWJTZXR0aW5nczo6Tm90aWZpY2F0aW9uc0VuYWJsZWQsIHRydWUpOworICAgIGQtPmF0
dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6S2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWQs
IGZhbHNlKTsKICAgICBkLT5vZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YSA9IDUgKiAxMDI0ICog
MTAyNDsKICAgICBkLT5kZWZhdWx0VGV4dEVuY29kaW5nID0gUUxhdGluMVN0cmluZygiaXNvLTg4
NTktMSIpOwogICAgIGQtPnRoaXJkUGFydHlDb29raWVQb2xpY3kgPSBBbHdheXNBbGxvd1RoaXJk
UGFydHlDb29raWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRp
bmdzLmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaAppbmRleCA1ZTdkM2Ux
YjRkM2Q0YzgxMzU2ODEyYzkyYjFmODRiNTA4ZDQwZTM5Li44YzlmNjliYjgxMDNmNmQwMDBmOTA2
NGE1NGVjNTI2YzIyYjdhNDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
c2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaApAQCAt
ODIsNyArODIsOCBAQCBwdWJsaWM6CiAgICAgICAgIENTU0dyaWRMYXlvdXRFbmFibGVkLAogICAg
ICAgICBTY3JvbGxBbmltYXRvckVuYWJsZWQsCiAgICAgICAgIENhcmV0QnJvd3NpbmdFbmFibGVk
LAotICAgICAgICBOb3RpZmljYXRpb25zRW5hYmxlZAorICAgICAgICBOb3RpZmljYXRpb25zRW5h
YmxlZCwKKyAgICAgICAgS2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWQKICAgICB9OwogICAgIGVu
dW0gV2ViR3JhcGhpYyB7CiAgICAgICAgIE1pc3NpbmdJbWFnZUdyYXBoaWMsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAppbmRleCBkYzA3M2RlMDM5ZDlmY2I4
ODAxODBiOWQzNzhmMDMxOWNlODMxNTBhLi4wZDE1YzhhZTUxOGZhYzZlMjNkMzQ3YWZkMGEyYmZj
MzI4YWI3Yjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3Jl
LmgKQEAgLTEzOCw2ICsxMzgsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICBtYWNybyhDb29r
aWVFbmFibGVkLCBjb29raWVFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCiAgICAgbWFjcm8o
UGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCwgcGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhQREZQbHVnaW5FbmFibGVkLCBwZGZQbHVnaW5F
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3JvKEtlcm5pbmdBbmRMaWdhdHVy
ZXNFbmFibGVkLCBrZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RPVUJMRV9QUkVGRVJFTkNFKG1h
Y3JvKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJw
cmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJwcmVm
ZXJlbmNlcy5jcHAKaW5kZXggN2RkZmQ5MjY5NjUyNWQ3YTgyNWYxMzA1ODE0ZjhhNmYxNWY4N2Yw
MS4uYWRjOWJkNzhhMjE1ZjI3MzY1ODY5ZTIzZjdhM2M5NzE0ZjQyODZkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VicHJlZmVyZW5jZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnByZWZlcmVuY2VzLmNwcApAQCAt
ODAsNiArODAsOCBAQCBib29sIFFXZWJQcmVmZXJlbmNlc1ByaXZhdGU6OnRlc3RBdHRyaWJ1dGUo
UVdlYlByZWZlcmVuY2VzUHJpdmF0ZTo6V2ViQXR0cmlidXRlCiAgICAgICAgIHJldHVybiBwcmVm
ZXJlbmNlcygpLT5jYXJldEJyb3dzaW5nRW5hYmxlZCgpOwogICAgIGNhc2UgTm90aWZpY2F0aW9u
c0VuYWJsZWQ6CiAgICAgICAgIHJldHVybiBwcmVmZXJlbmNlcygpLT5ub3RpZmljYXRpb25zRW5h
YmxlZCgpOworICAgIGNhc2UgS2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWQ6CisgICAgICAgIHJl
dHVybiBwcmVmZXJlbmNlcygpLT5rZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxlZCgpOwogICAgIGRl
ZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CkBAIC0xNTAsNiArMTUyLDkgQEAgdm9pZCBRV2ViUHJlZmVyZW5jZXNQcml2YXRlOjpzZXRB
dHRyaWJ1dGUoUVdlYlByZWZlcmVuY2VzUHJpdmF0ZTo6V2ViQXR0cmlidXRlIGEKICAgICBjYXNl
IE5vdGlmaWNhdGlvbnNFbmFibGVkOgogICAgICAgICBwcmVmZXJlbmNlcygpLT5zZXROb3RpZmlj
YXRpb25zRW5hYmxlZChlbmFibGUpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIEtlcm5pbmdB
bmRMaWdhdHVyZXNFbmFibGVkOgorICAgICAgICBwcmVmZXJlbmNlcygpLT5zZXRLZXJuaW5nQW5k
TGlnYXR1cmVzRW5hYmxlZChlbmFibGUpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0Ogog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC01ODcsNiArNTkyLDE3IEBA
IHZvaWQgUVdlYlByZWZlcmVuY2VzOjpzZXROb3RpZmljYXRpb25zRW5hYmxlZChib29sIGVuYWJs
ZSkKICAgICBlbWl0IG5vdGlmaWNhdGlvbnNFbmFibGVkQ2hhbmdlZCgpOwogfQogCitib29sIFFX
ZWJQcmVmZXJlbmNlczo6a2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWQoKSBjb25zdAoreworICAg
IHJldHVybiBkLT50ZXN0QXR0cmlidXRlKFFXZWJQcmVmZXJlbmNlc1ByaXZhdGU6Oktlcm5pbmdB
bmRMaWdhdHVyZXNFbmFibGVkKTsKK30KKwordm9pZCBRV2ViUHJlZmVyZW5jZXM6OnNldEtlcm5p
bmdBbmRMaWdhdHVyZXNFbmFibGVkKGJvb2wgZW5hYmxlKQoreworICAgIGQtPnNldEF0dHJpYnV0
ZShRV2ViUHJlZmVyZW5jZXNQcml2YXRlOjpLZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxlZCwgZW5h
YmxlKTsKKyAgICBlbWl0IGtlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkQ2hhbmdlZCgpOworfQor
CiBXZWJLaXQ6OldlYlByZWZlcmVuY2VzKiBRV2ViUHJlZmVyZW5jZXNQcml2YXRlOjpwcmVmZXJl
bmNlcygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHdlYlZpZXdQcml2YXRlLT53ZWJQYWdlUHJveHkt
PnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xd2VicHJlZmVyZW5jZXNfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xd2VicHJlZmVyZW5jZXNfcC5oCmluZGV4IGUzZmFiNzlhYmFiMjJiNGQ3
OWE1YzkzYjRjNDNhZTBlNDI1NzFjZDEuLmQzNjI5MjQ0ZTAwMTQ1NjkwMmNmYWQ5ZWJiNWRhYjAy
NTk2MWM1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdl
YnByZWZlcmVuY2VzX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3
ZWJwcmVmZXJlbmNlc19wLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHVibGljOgogICAgIFFfUFJPUEVS
VFkoYm9vbCBzY3JvbGxBbmltYXRvckVuYWJsZWQgUkVBRCBzY3JvbGxBbmltYXRvckVuYWJsZWQg
V1JJVEUgc2V0U2Nyb2xsQW5pbWF0b3JFbmFibGVkIE5PVElGWSBzY3JvbGxBbmltYXRvckVuYWJs
ZWRDaGFuZ2VkIEZJTkFMKQogICAgIFFfUFJPUEVSVFkoYm9vbCBjYXJldEJyb3dzaW5nRW5hYmxl
ZCBSRUFEIGNhcmV0QnJvd3NpbmdFbmFibGVkIFdSSVRFIHNldENhcmV0QnJvd3NpbmdFbmFibGVk
IE5PVElGWSBjYXJldEJyb3dzaW5nRW5hYmxlZENoYW5nZWQgRklOQUwpCiAgICAgUV9QUk9QRVJU
WShib29sIG5vdGlmaWNhdGlvbnNFbmFibGVkIFJFQUQgbm90aWZpY2F0aW9uc0VuYWJsZWQgV1JJ
VEUgc2V0Tm90aWZpY2F0aW9uc0VuYWJsZWQgTk9USUZZIG5vdGlmaWNhdGlvbnNFbmFibGVkQ2hh
bmdlZCBGSU5BTCkKKyAgICBRX1BST1BFUlRZKGJvb2wga2VybmluZ0FuZExpZ2F0dXJlc0VuYWJs
ZWQgUkVBRCBrZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxlZCBXUklURSBzZXRLZXJuaW5nQW5kTGln
YXR1cmVzRW5hYmxlZCBOT1RJRlkga2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRDaGFuZ2VkIEZJ
TkFMKQogCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nIHN0YW5kYXJkRm9udEZhbWlseSBSRUFEIHN0
YW5kYXJkRm9udEZhbWlseSBXUklURSBzZXRTdGFuZGFyZEZvbnRGYW1pbHkgTk9USUZZIHN0YW5k
YXJkRm9udEZhbWlseUNoYW5nZWQgRklOQUwpCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nIGZpeGVk
Rm9udEZhbWlseSBSRUFEIGZpeGVkRm9udEZhbWlseSBXUklURSBzZXRGaXhlZEZvbnRGYW1pbHkg
Tk9USUZZIGZpeGVkRm9udEZhbWlseUNoYW5nZWQgRklOQUwpCkBAIC0xMTEsNiArMTEyLDkgQEAg
cHVibGljOgogICAgIGJvb2wgbm90aWZpY2F0aW9uc0VuYWJsZWQoKSBjb25zdDsKICAgICB2b2lk
IHNldE5vdGlmaWNhdGlvbnNFbmFibGVkKGJvb2wgZW5hYmxlKTsKIAorICAgIGJvb2wga2Vybmlu
Z0FuZExpZ2F0dXJlc0VuYWJsZWQoKSBjb25zdDsKKyAgICB2b2lkIHNldEtlcm5pbmdBbmRMaWdh
dHVyZXNFbmFibGVkKGJvb2wgZW5hYmxlKTsKKwogICAgIFFTdHJpbmcgc3RhbmRhcmRGb250RmFt
aWx5KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgUVN0cmlu
ZyYgZmFtaWx5KTsKIApAQCAtMTU2LDYgKzE2MCw3IEBAIFFfU0lHTkFMUzoKICAgICB2b2lkIHNj
cm9sbEFuaW1hdG9yRW5hYmxlZENoYW5nZWQoKTsKICAgICB2b2lkIGNhcmV0QnJvd3NpbmdFbmFi
bGVkQ2hhbmdlZCgpOwogICAgIHZvaWQgbm90aWZpY2F0aW9uc0VuYWJsZWRDaGFuZ2VkKCk7Cisg
ICAgdm9pZCBrZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxlZENoYW5nZWQoKTsKIAogICAgIHZvaWQg
c3RhbmRhcmRGb250RmFtaWx5Q2hhbmdlZCgpOwogICAgIHZvaWQgZml4ZWRGb250RmFtaWx5Q2hh
bmdlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vi
cHJlZmVyZW5jZXNfcF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJw
cmVmZXJlbmNlc19wX3AuaAppbmRleCBjODA5OGI1MGVhYjIzODk1YzgwNmI5MmMyYTYxMDg0ODFi
NDU1MjA1Li5lMTcyMmY4MjkwMTIyNjY0ZGZlMjIxNjI5ZTcwYTlhZTg4ZTA1YmFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJwcmVmZXJlbmNlc19wX3Au
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJwcmVmZXJlbmNlc19w
X3AuaApAQCAtNDQsNyArNDQsOCBAQCBwdWJsaWM6CiAgICAgICAgIFdlYkF1ZGlvRW5hYmxlZCwK
ICAgICAgICAgU2Nyb2xsQW5pbWF0b3JFbmFibGVkLAogICAgICAgICBDYXJldEJyb3dzaW5nRW5h
YmxlZCwKLSAgICAgICAgTm90aWZpY2F0aW9uc0VuYWJsZWQKKyAgICAgICAgTm90aWZpY2F0aW9u
c0VuYWJsZWQsCisgICAgICAgIEtlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkCiAgICAgfTsKIAog
ICAgIGVudW0gRm9udEZhbWlseSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggYjFlZTM1ODMzMTIwOWZlN2JmODU5MDEwNGZlNTA0OWJmMDNj
N2M3NC4uNjE3YWUyZTE1OTI0ZGZkZDg5YjU4YzRlMjgwZTIzNjUyMDkwNWE0ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjE5Myw2ICsy
MTkzLDEyIEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVy
ZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgICAgIHx8IFdlYlByb2Nlc3M6OnNoYXJlZCgpLnNob3Vs
ZEZvcmNlU2NyZWVuRm9udFN1YnN0aXR1dGlvbigpCiAjZW5kaWYKICAgICApOworICAgIGJvb2wg
a2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWQgPSBzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6Omtlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkS2V5KCkpCisjaWYgUExB
VEZPUk0oTUFDKQorICAgICAgICB8fCBXZWJQcm9jZXNzOjpzaGFyZWQoKS5zaG91bGRFbmFibGVL
ZXJuaW5nQW5kTGlnYXR1cmVzQnlEZWZhdWx0KCkKKyNlbmRpZgorICAgIDsKKyAgICBzZXR0aW5n
cy0+c2V0RGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMoa2VybmluZ0FuZExpZ2F0dXJlc0VuYWJs
ZWQgPyAoV2ViQ29yZTo6S2VybmluZyB8IFdlYkNvcmU6OkxpZ2F0dXJlcykgOiAwKTsKICAgICBz
ZXR0aW5ncy0+c2V0TGF5b3V0RmFsbGJhY2tXaWR0aChzdG9yZS5nZXRVSW50MzJWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6bGF5b3V0RmFsbGJhY2tXaWR0aEtleSgpKSk7CiAgICAgc2V0
dGluZ3MtPnNldERldmljZVdpZHRoKHN0b3JlLmdldFVJbnQzMlZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjpkZXZpY2VXaWR0aEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldERldmljZUhl
aWdodChzdG9yZS5nZXRVSW50MzJWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZGV2aWNl
SGVpZ2h0S2V5KCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXgg
YzI0OGE0ZTBhOTAxMWQxNTNkZWQxYjg5YzEwYzA5NTY2ODA2ZDc2My4uNTdjYzVlNmM1YTU0MDVh
MGJiNTg5OTdjOGM0M2EwMzhlYjk0NGY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKQEAgLTE2NCw2ICsxNjQsNyBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHBpZF90IHByZXNlbnRlckFwcGxpY2F0aW9uUGlkKCkgY29uc3QgeyByZXR1cm4gbV9wcmVz
ZW50ZXJBcHBsaWNhdGlvblBpZDsgfQogICAgIGJvb2wgc2hvdWxkRm9yY2VTY3JlZW5Gb250U3Vi
c3RpdHV0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0
dXRpb247IH0KKyAgICBib29sIHNob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURlZmF1
bHQoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZEVuYWJsZUtlcm5pbmdBbmRMaWdhdHVyZXNCeURl
ZmF1bHQ7IH0KICNlbmRpZgogICAgIAogI2lmIFBMQVRGT1JNKFFUKQpAQCAtMzMxLDYgKzMzMiw3
IEBAIHByaXZhdGU6CiAgICAgcGlkX3QgbV9wcmVzZW50ZXJBcHBsaWNhdGlvblBpZDsKICAgICBk
aXNwYXRjaF9ncm91cF90IG1fY2xlYXJSZXNvdXJjZUNhY2hlc0Rpc3BhdGNoR3JvdXA7CiAgICAg
Ym9vbCBtX3Nob3VsZEZvcmNlU2NyZWVuRm9udFN1YnN0aXR1dGlvbjsKKyAgICBib29sIG1fc2hv
dWxkRW5hYmxlS2VybmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdDsKICNlbmRpZgogCiAgICAgYm9v
bCBtX2Z1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbQppbmRleCAwMDFkZWI0YzhmZjVlODA3NjA3MTU3NGU0
NDE2YWY2MmYzNmM2ZDkwLi43N2JkY2IzNmNiODExOTFmMDYyZGYxODYzYzU4NjRhOWQ1NjAxMzBi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0K
QEAgLTI3Nyw3ICsyNzcsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdl
YlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycwogICAgIH0KIAogICAg
IG1fc2hvdWxkRm9yY2VTY3JlZW5Gb250U3Vic3RpdHV0aW9uID0gcGFyYW1ldGVycy5zaG91bGRG
b3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRpb247Ci0gICAgRm9udDo6c2V0RGVmYXVsdFR5cGVzZXR0
aW5nRmVhdHVyZXMocGFyYW1ldGVycy5zaG91bGRFbmFibGVLZXJuaW5nQW5kTGlnYXR1cmVzQnlE
ZWZhdWx0ID8gS2VybmluZyB8IExpZ2F0dXJlcyA6IDApOworICAgIG1fc2hvdWxkRW5hYmxlS2Vy
bmluZ0FuZExpZ2F0dXJlc0J5RGVmYXVsdCA9IHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlS2Vybmlu
Z0FuZExpZ2F0dXJlc0J5RGVmYXVsdDsKIAogICAgIG1fY29tcG9zaXRpbmdSZW5kZXJTZXJ2ZXJQ
b3J0ID0gcGFyYW1ldGVycy5hY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9ydC5wb3J0KCk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2ZmQ1YTE0
ZDk0OTIwNDdjYWQwYWMyY2NlMzI0MjMwZjUyZGFiZjUwLi4yYzgwYjQxNGNlNWFhZmQ5NTAwOTQ5
ZmEyZjA5OGIzNjIyNWZiZjllIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMTAtMzEgIEFsbGFuIFNhbmRmZWxk
IEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAgICAgICAgW1F0XSBNYWtlIGRl
ZmF1bHQgdHlwZXNldHRpbmdzIGNvbmZpZ3VyYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG9wdGlvbiB0byBjaGFuZ2UgZm9udC1rZXJuaW5n
IHNldHRpbmcsIHNvIGZvbnQga2VybmluZyBjYW4gYmUgdmlzdWFsbHkgdGVzdGVkLgorCisgICAg
ICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHA6CisgICAgICAgIChMYXVuY2hl
cldpbmRvdzo6Y3JlYXRlQ2hyb21lKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93Ojp0b2dnbGVG
b250S2VybmluZyk6CisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oOgor
ICAgICAgICAoV2luZG93T3B0aW9uczo6V2luZG93T3B0aW9ucyk6CisgICAgICAgIChXaW5kb3dP
cHRpb25zKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93KToKKwogMjAxMi0xMC0zMSAgTWlrZSBX
ZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNjcmlwdCBydW4gZnJvbSBhbiBp
c29sYXRlZCB3b3JsZCBzaG91bGQgYnlwYXNzIGEgcGFnZSdzIENTUC4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwIGIvVG9vbHMvUXRUZXN0QnJvd3Nl
ci9sYXVuY2hlcndpbmRvdy5jcHAKaW5kZXggZDlkZDBmOTNmYWY4ZmE1MGJkNWNjMTg3NDcwYTg4
YTNmMTc5NzQ1Ny4uZDlkN2U4M2RhNGIyYTllMjA2YjVhNzM0ZmE0ZDA1YTYwYzFmNGNkYSAxMDA2
NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAKKysrIGIvVG9v
bHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAKQEAgLTQ3Nyw2ICs0NzcsMTAgQEAg
dm9pZCBMYXVuY2hlcldpbmRvdzo6Y3JlYXRlQ2hyb21lKCkKICNlbmRpZgogICAgIHRvZ2dsZVNj
cm9sbEFuaW1hdG9yLT5zZXRDaGVja2VkKGZhbHNlKTsKIAorICAgIFFBY3Rpb24qIHRvZ2dsZUZv
bnRLZXJuaW5nID0gc2V0dGluZ3NNZW51LT5hZGRBY3Rpb24oIkVuYWJsZSBGb250IEtlcm5pbmci
LCB0aGlzLCBTTE9UKHRvZ2dsZUZvbnRLZXJuaW5nKGJvb2wpKSk7CisgICAgdG9nZ2xlRm9udEtl
cm5pbmctPnNldENoZWNrYWJsZSh0cnVlKTsKKyAgICB0b2dnbGVGb250S2VybmluZy0+c2V0Q2hl
Y2tlZChmYWxzZSk7CisKICAgICBRQWN0aW9uKiB0b2dnbGVJbnRlcnJ1cHRpbmdKYXZhU2NyaXB0
ZUVuYWJsZWQgPSBzZXR0aW5nc01lbnUtPmFkZEFjdGlvbigiRW5hYmxlIGludGVycnVwdGluZyBq
cyBzY3JpcHRzIiwgdGhpcywgU0xPVCh0b2dnbGVJbnRlcnJ1cHRpbmdKYXZhU2NyaXB0RW5hYmxl
ZChib29sKSkpOwogICAgIHRvZ2dsZUludGVycnVwdGluZ0phdmFTY3JpcHRlRW5hYmxlZC0+c2V0
Q2hlY2thYmxlKHRydWUpOwogICAgIHRvZ2dsZUludGVycnVwdGluZ0phdmFTY3JpcHRlRW5hYmxl
ZC0+c2V0Q2hlY2tlZChmYWxzZSk7CkBAIC0xMDk5LDYgKzExMDMsMTIgQEAgdm9pZCBMYXVuY2hl
cldpbmRvdzo6dG9nZ2xlU2Nyb2xsQW5pbWF0b3IoYm9vbCB0b2dnbGUpCiAgICAgcGFnZSgpLT5z
ZXR0aW5ncygpLT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpTY3JvbGxBbmltYXRvckVuYWJs
ZWQsIHRvZ2dsZSk7CiB9CiAKK3ZvaWQgTGF1bmNoZXJXaW5kb3c6OnRvZ2dsZUZvbnRLZXJuaW5n
KGJvb2wgdG9nZ2xlKQoreworICAgIG1fd2luZG93T3B0aW9ucy5lbmFibGVGb250S2VybmluZyA9
IHRvZ2dsZTsKKyAgICBwYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGlu
Z3M6Oktlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkLCB0b2dnbGUpOworfQorCiBMYXVuY2hlcldp
bmRvdyogTGF1bmNoZXJXaW5kb3c6Om5ld1dpbmRvdygpCiB7CiAgICAgTGF1bmNoZXJXaW5kb3cq
IG13ID0gbmV3IExhdW5jaGVyV2luZG93KCZtX3dpbmRvd09wdGlvbnMpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oIGIvVG9vbHMvUXRUZXN0QnJvd3Nl
ci9sYXVuY2hlcndpbmRvdy5oCmluZGV4IDNkZTg2NjdmYTk2MzNhYTNlZTcyMWNjYjRlYjM0ZDVl
NDM1ZWQ0ZmMuLjQ4NDliMTZiYjU4YWJjMjRiNjU3OWM4ZTA2YjRlZTU4YTI1Y2FhYjkgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaAorKysgYi9Ub29scy9R
dFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmgKQEAgLTc4LDYgKzc4LDcgQEAgcHVibGljOgog
ICAgICAgICAsIHVzZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlKGZhbHNlKQogICAgICAgICAs
IHVzZURpc2tDb29raWVzKHRydWUpCiAgICAgICAgICwgZW5hYmxlU2Nyb2xsQW5pbWF0b3IoZmFs
c2UpCisgICAgICAgICwgZW5hYmxlRm9udEtlcm5pbmcoZmFsc2UpCiAgICAgICAgICwgb2ZmbGlu
ZVN0b3JhZ2VEZWZhdWx0UXVvdGFTaXplKDApCiAjaWZuZGVmIFFUX05PX09QRU5HTAogICAgICAg
ICAsIHVzZVFHTFdpZGdldFZpZXdwb3J0KGZhbHNlKQpAQCAtMTAyLDYgKzEwMyw3IEBAIHB1Ymxp
YzoKICAgICBib29sIHVzZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlOwogICAgIGJvb2wgdXNl
RGlza0Nvb2tpZXM7CiAgICAgYm9vbCBlbmFibGVTY3JvbGxBbmltYXRvcjsKKyAgICBib29sIGVu
YWJsZUZvbnRLZXJuaW5nOwogICAgIHF1aW50NjQgb2ZmbGluZVN0b3JhZ2VEZWZhdWx0UXVvdGFT
aXplOwogI2lmbmRlZiBRVF9OT19PUEVOR0wKICAgICBib29sIHVzZVFHTFdpZGdldFZpZXdwb3J0
OwpAQCAtMTY1LDYgKzE2Nyw3IEBAIHByb3RlY3RlZCBRX1NMT1RTOgogICAgIHZvaWQgdG9nZ2xl
T2ZmbGluZVN0b3JhZ2VEYXRhYmFzZShib29sIHRvZ2dsZSk7CiAgICAgdm9pZCB0b2dnbGVPZmZs
aW5lV2ViQXBwbGljYXRpb25DYWNoZShib29sIHRvZ2dsZSk7CiAgICAgdm9pZCB0b2dnbGVTY3Jv
bGxBbmltYXRvcihib29sIHRvZ2dsZSk7CisgICAgdm9pZCB0b2dnbGVGb250S2VybmluZyhib29s
IHRvZ2dsZSk7CiAgICAgdm9pZCBzZXRPZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YSgpOwogI2lm
bmRlZiBRVF9OT19MSU5FRURJVAogICAgIHZvaWQgc2hvd0ZpbmRCYXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174405</attachid>
            <date>2012-11-15 04:46:59 -0800</date>
            <delta_ts>2013-03-19 09:22:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100106-20121115134432.patch</filename>
            <type>text/plain</type>
            <size>6645</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDM0MGNmOTUzNzQ2
M2M2NjMxNThiNGJjMzM4NjZhYjc0ZGEwMzI4NjkuLjcyNjIyNDQ1ZGQxNjlkYTRkNTI4MWNiYmI1
NmViOTFjYTRjODQ5N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEt
MTUgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAg
ICAgICAgW1F0XSBNYWtlIGRlZmF1bHQgdHlwZXNldHRpbmdzIGNvbmZpZ3VyYWJsZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTA2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IGEgc3RhdGlj
IHNldHRpbmcgdG8gc2V0IFdlYktpdHMgZGVmYXVsdCB0eXBlc2V0dGluZyBmZWF0dXJlcy4KKwor
ICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAoUVdlYlNldHRpbmdzOjpz
ZXRLZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxlZEJ5RGVmYXVsdCk6CisgICAgICAgIChRV2ViU2V0
dGluZ3M6Omtlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkQnlEZWZhdWx0KToKKyAgICAgICAgKiBB
cGkvcXdlYnNldHRpbmdzLmg6CisKIDIwMTItMTEtMTQgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9z
c3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIEZpeCB0c3RfUVdlYkZyYW1lOjpzZXRVcmxX
aXRoUGVuZGluZ0xvYWRzKCkgQVBJIHRlc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJzZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3Mu
Y3BwCmluZGV4IDc2OGM4MDI1NmVjMTI2NjExZDNhOGY4MjdjZDFlYzkzMTcyZjNhODMuLmQxODQz
MjI3YjEzNGI1MzJlZmUzOWQ3ZGYxNzU3MzJkYmVmYTNlZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkv
cXdlYnNldHRpbmdzLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkFwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAi
RmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkZvbnQuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogI2luY2x1ZGUgPFFBcHBsaWNhdGlvbj4KQEAgLTExMTYsNiArMTExNywzNiBA
QCBxaW50NjQgUVdlYlNldHRpbmdzOjpvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZVF1b3RhKCkK
IH0KIAogLyohCisgICAgXHNpbmNlIDUuMAorCisgICAgU2V0cyB3aGV0aGVyIGZvbnQga2Vybmlu
ZyBhbmQgY29tbW9uIGxpZ2F0dXJlcyBzaG91bGQgYmUgZW5hYmxlZCBldmVyeXdoZXJlCisgICAg
dGhleSBoYXZlIG5vdCBiZWVuIGV4cGxpY2l0bHkgZGlzYWJsZWQuCisKKyAgICBFbmFibGluZyB0
aGlzIGZlYXR1cmUgbWlnaHQgaGF2ZSBhbiBpbXBhY3Qgb24gcGVyZm9ybWFuY2UgYW5kIGl0IGlz
IGRpc2FibGVkIGJ5IGRlZmF1bHQuCisKKyAgICBcc2Ega2VybmluZ0FuZExpZ2F0dXJlc0VuYWJs
ZWRCeURlZmF1bHQoKQorKi8KK3ZvaWQgUVdlYlNldHRpbmdzOjpzZXRLZXJuaW5nQW5kTGlnYXR1
cmVzRW5hYmxlZEJ5RGVmYXVsdChib29sIGVuYWJsZSkKK3sKKyAgICBXZWJDb3JlOjppbml0aWFs
aXplV2ViQ29yZVF0KCk7CisgICAgV2ViQ29yZTo6Rm9udDo6c2V0RGVmYXVsdFR5cGVzZXR0aW5n
RmVhdHVyZXMoZW5hYmxlID8gKFdlYkNvcmU6Oktlcm5pbmcgfCBXZWJDb3JlOjpMaWdhdHVyZXMp
IDogMCk7Cit9CisKKy8qIQorICAgIFxzaW5jZSA1LjAKKworICAgIFJldHVybnMgd2hldGhlciBm
b250IGtlcm5pbmcgYW5kIGNvbW1vbiBsaWdhdHVyZXMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdC4K
KworICAgIFxzYSBzZXRLZXJuaW5nQW5kTGlnYXR1cmVzRW5hYmxlZEJ5RGVmYXVsdCgpCisqLwor
Citib29sIFFXZWJTZXR0aW5nczo6a2VybmluZ0FuZExpZ2F0dXJlc0VuYWJsZWRCeURlZmF1bHQo
KQoreworICAgIFdlYkNvcmU6OmluaXRpYWxpemVXZWJDb3JlUXQoKTsKKyAgICByZXR1cm4gV2Vi
Q29yZTo6Rm9udDo6ZGVmYXVsdFR5cGVzZXR0aW5nRmVhdHVyZXMoKSA9PSAoV2ViQ29yZTo6S2Vy
bmluZyB8IFdlYkNvcmU6OkxpZ2F0dXJlcyk7Cit9CisKKy8qIQogICAgIFxzaW5jZSA0LjYKIAog
ICAgIFNldHMgdGhlIHBhdGggZm9yIEhUTUw1IGxvY2FsIHN0b3JhZ2UgdG8gXGEgcGF0aC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oIGIvU291cmNlL1dl
YktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKaW5kZXggNWU3ZDNlMWI0ZDNkNGM4MTM1NjgxMmM5
MmIxZjg0YjUwOGQ0MGUzOS4uYWU3YzQyNGM4MjY3ZWNiOGNjNTc4NTUyYjJkOTQzOWI1ZWI5Yjcx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKKysrIGIv
U291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKQEAgLTE0OSw2ICsxNDksOSBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIFFTdHJpbmcgb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVQYXRo
KCk7CiAgICAgc3RhdGljIHZvaWQgc2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVRdW90YShx
aW50NjQgbWF4aW11bVNpemUpOwogICAgIHN0YXRpYyBxaW50NjQgb2ZmbGluZVdlYkFwcGxpY2F0
aW9uQ2FjaGVRdW90YSgpOworCisgICAgc3RhdGljIHZvaWQgc2V0S2VybmluZ0FuZExpZ2F0dXJl
c0VuYWJsZWRCeURlZmF1bHQoYm9vbCk7CisgICAgc3RhdGljIGJvb2wga2VybmluZ0FuZExpZ2F0
dXJlc0VuYWJsZWRCeURlZmF1bHQoKTsKICAgICAKICAgICB2b2lkIHNldExvY2FsU3RvcmFnZVBh
dGgoY29uc3QgUVN0cmluZyYgcGF0aCk7CiAgICAgUVN0cmluZyBsb2NhbFN0b3JhZ2VQYXRoKCkg
Y29uc3Q7IApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDY0NWRhNWJiODdhZWZmMmE3NmQ5ZjBjZGZhZDZiMTMxYzUxOTQyODcuLjk4YjlmNmJiOTIz
NmViOWY1YzI1Njc5MmMxZmM3MWRhN2Q2ZDQ5ZWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0xMS0xNSAgQWxs
YW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KKworICAgICAgICBb
UXRdIE1ha2UgZGVmYXVsdCB0eXBlc2V0dGluZ3MgY29uZmlndXJhYmxlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAxMDYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgb3B0aW9uIHRvIGNoYW5nZSBm
b250LWtlcm5pbmcgc2V0dGluZywgc28gZm9udCBrZXJuaW5nIGNhbiBiZSB2aXN1YWxseSB0ZXN0
ZWQuCisKKyAgICAgICAgKiBRdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcDoKKyAgICAg
ICAgKExhdW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUpOgorICAgICAgICAoTGF1bmNoZXJXaW5k
b3c6OnRvZ2dsZVNjcm9sbEFuaW1hdG9yKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93Ojp0b2dn
bGVGb250S2VybmluZyk6CisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5o
OgorICAgICAgICAoV2luZG93T3B0aW9uczo6V2luZG93T3B0aW9ucyk6CisgICAgICAgIChXaW5k
b3dPcHRpb25zKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93KToKKwogMjAxMi0xMS0xNCAgUnl1
YW4gQ2hvaSAgPHJ5dWFuLmNob2lAZ21haWwuY29tPgogCiAgICAgICAgIFtFRkxdIFBvcnQgdGls
ZWQgYmFja2luZyBzdG9yZQpkaWZmIC0tZ2l0IGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hl
cndpbmRvdy5jcHAgYi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcAppbmRl
eCBkOWRkMGY5M2ZhZjhmYTUwYmQ1Y2MxODc0NzBhODhhM2YxNzk3NDU3Li45N2VlNzFmMmQ4NjVl
ODYzMjNmNzAzODczZTBkNTNjZjQ0MWNmMGI5IDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93
c2VyL2xhdW5jaGVyd2luZG93LmNwcAorKysgYi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVy
d2luZG93LmNwcApAQCAtNDc3LDYgKzQ3NywxMCBAQCB2b2lkIExhdW5jaGVyV2luZG93OjpjcmVh
dGVDaHJvbWUoKQogI2VuZGlmCiAgICAgdG9nZ2xlU2Nyb2xsQW5pbWF0b3ItPnNldENoZWNrZWQo
ZmFsc2UpOwogCisgICAgUUFjdGlvbiogdG9nZ2xlRm9udEtlcm5pbmcgPSBzZXR0aW5nc01lbnUt
PmFkZEFjdGlvbigiRW5hYmxlIEZvbnQgS2VybmluZyIsIHRoaXMsIFNMT1QodG9nZ2xlRm9udEtl
cm5pbmcoYm9vbCkpKTsKKyAgICB0b2dnbGVGb250S2VybmluZy0+c2V0Q2hlY2thYmxlKHRydWUp
OworICAgIHRvZ2dsZUZvbnRLZXJuaW5nLT5zZXRDaGVja2VkKGZhbHNlKTsKKwogICAgIFFBY3Rp
b24qIHRvZ2dsZUludGVycnVwdGluZ0phdmFTY3JpcHRlRW5hYmxlZCA9IHNldHRpbmdzTWVudS0+
YWRkQWN0aW9uKCJFbmFibGUgaW50ZXJydXB0aW5nIGpzIHNjcmlwdHMiLCB0aGlzLCBTTE9UKHRv
Z2dsZUludGVycnVwdGluZ0phdmFTY3JpcHRFbmFibGVkKGJvb2wpKSk7CiAgICAgdG9nZ2xlSW50
ZXJydXB0aW5nSmF2YVNjcmlwdGVFbmFibGVkLT5zZXRDaGVja2FibGUodHJ1ZSk7CiAgICAgdG9n
Z2xlSW50ZXJydXB0aW5nSmF2YVNjcmlwdGVFbmFibGVkLT5zZXRDaGVja2VkKGZhbHNlKTsKQEAg
LTEwOTcsOCArMTEwMSwxNyBAQCB2b2lkIExhdW5jaGVyV2luZG93Ojp0b2dnbGVTY3JvbGxBbmlt
YXRvcihib29sIHRvZ2dsZSkKIHsKICAgICBtX3dpbmRvd09wdGlvbnMuZW5hYmxlU2Nyb2xsQW5p
bWF0b3IgPSB0b2dnbGU7CiAgICAgcGFnZSgpLT5zZXR0aW5ncygpLT5zZXRBdHRyaWJ1dGUoUVdl
YlNldHRpbmdzOjpTY3JvbGxBbmltYXRvckVuYWJsZWQsIHRvZ2dsZSk7CisgICAgcGFnZSgpLT50
cmlnZ2VyQWN0aW9uKFFXZWJQYWdlOjpSZWxvYWQpOwogfQogCit2b2lkIExhdW5jaGVyV2luZG93
Ojp0b2dnbGVGb250S2VybmluZyhib29sIHRvZ2dsZSkKK3sKKyAgICBtX3dpbmRvd09wdGlvbnMu
ZW5hYmxlRm9udEtlcm5pbmcgPSB0b2dnbGU7CisgICAgUVdlYlNldHRpbmdzOjpzZXRLZXJuaW5n
QW5kTGlnYXR1cmVzRW5hYmxlZEJ5RGVmYXVsdCh0b2dnbGUpOworICAgIHBhZ2UoKS0+dHJpZ2dl
ckFjdGlvbihRV2ViUGFnZTo6UmVsb2FkKTsKK30KKworCiBMYXVuY2hlcldpbmRvdyogTGF1bmNo
ZXJXaW5kb3c6Om5ld1dpbmRvdygpCiB7CiAgICAgTGF1bmNoZXJXaW5kb3cqIG13ID0gbmV3IExh
dW5jaGVyV2luZG93KCZtX3dpbmRvd09wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvUXRUZXN0
QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndp
bmRvdy5oCmluZGV4IDNkZTg2NjdmYTk2MzNhYTNlZTcyMWNjYjRlYjM0ZDVlNDM1ZWQ0ZmMuLjQ4
NDliMTZiYjU4YWJjMjRiNjU3OWM4ZTA2YjRlZTU4YTI1Y2FhYjkgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaAorKysgYi9Ub29scy9RdFRlc3RCcm93c2Vy
L2xhdW5jaGVyd2luZG93LmgKQEAgLTc4LDYgKzc4LDcgQEAgcHVibGljOgogICAgICAgICAsIHVz
ZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlKGZhbHNlKQogICAgICAgICAsIHVzZURpc2tDb29r
aWVzKHRydWUpCiAgICAgICAgICwgZW5hYmxlU2Nyb2xsQW5pbWF0b3IoZmFsc2UpCisgICAgICAg
ICwgZW5hYmxlRm9udEtlcm5pbmcoZmFsc2UpCiAgICAgICAgICwgb2ZmbGluZVN0b3JhZ2VEZWZh
dWx0UXVvdGFTaXplKDApCiAjaWZuZGVmIFFUX05PX09QRU5HTAogICAgICAgICAsIHVzZVFHTFdp
ZGdldFZpZXdwb3J0KGZhbHNlKQpAQCAtMTAyLDYgKzEwMyw3IEBAIHB1YmxpYzoKICAgICBib29s
IHVzZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlOwogICAgIGJvb2wgdXNlRGlza0Nvb2tpZXM7
CiAgICAgYm9vbCBlbmFibGVTY3JvbGxBbmltYXRvcjsKKyAgICBib29sIGVuYWJsZUZvbnRLZXJu
aW5nOwogICAgIHF1aW50NjQgb2ZmbGluZVN0b3JhZ2VEZWZhdWx0UXVvdGFTaXplOwogI2lmbmRl
ZiBRVF9OT19PUEVOR0wKICAgICBib29sIHVzZVFHTFdpZGdldFZpZXdwb3J0OwpAQCAtMTY1LDYg
KzE2Nyw3IEBAIHByb3RlY3RlZCBRX1NMT1RTOgogICAgIHZvaWQgdG9nZ2xlT2ZmbGluZVN0b3Jh
Z2VEYXRhYmFzZShib29sIHRvZ2dsZSk7CiAgICAgdm9pZCB0b2dnbGVPZmZsaW5lV2ViQXBwbGlj
YXRpb25DYWNoZShib29sIHRvZ2dsZSk7CiAgICAgdm9pZCB0b2dnbGVTY3JvbGxBbmltYXRvcihi
b29sIHRvZ2dsZSk7CisgICAgdm9pZCB0b2dnbGVGb250S2VybmluZyhib29sIHRvZ2dsZSk7CiAg
ICAgdm9pZCBzZXRPZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YSgpOwogI2lmbmRlZiBRVF9OT19M
SU5FRURJVAogICAgIHZvaWQgc2hvd0ZpbmRCYXIoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>