<?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>138760</bug_id>
          
          <creation_ts>2014-11-14 15:48:09 -0800</creation_ts>
          <short_desc>[iOS] CoreText and CoreUI SPI are not available in public SDK</short_desc>
          <delta_ts>2014-11-18 12:40:52 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 8.1</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>136487</blocked>
    
    <blocked>138802</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dino</cc>
    
    <cc>enrica</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mitz</cc>
    
    <cc>mmaxfield</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1048903</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-14 15:48:09 -0800</bug_when>
    <thetext>The iOS WebKit port makes use of the private headers from the CoreText and CoreUI frameworks. Towards building the port using the public SDK, we should forward declare the applicable SPI from these frameworks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048932</commentid>
    <comment_count>1</comment_count>
      <attachid>241642</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-14 16:43:50 -0800</bug_when>
    <thetext>Created attachment 241642
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049279</commentid>
    <comment_count>2</comment_count>
      <attachid>241733</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-17 12:25:36 -0800</bug_when>
    <thetext>Created attachment 241733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049280</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-17 12:28:06 -0800</bug_when>
    <thetext>Attachment 241733 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cocoa/CoreTextSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/CoreTextSPI.h:39:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/CoreTextSPI.h:40:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/CoreTextSPI.h:41:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 4 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049294</commentid>
    <comment_count>4</comment_count>
      <attachid>241733</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-11-17 13:24:24 -0800</bug_when>
    <thetext>Comment on attachment 241733
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049295</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-11-17 13:26:18 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Attachment 241733 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebCore/platform/spi/cocoa/CoreTextSPI.h:38:  enum members
&gt; should use InterCaps with an initial capital letter. 
&gt; [readability/enum_casing] [4]
&gt; ERROR: Source/WebCore/platform/spi/cocoa/CoreTextSPI.h:39:  enum members
&gt; should use InterCaps with an initial capital letter. 
&gt; [readability/enum_casing] [4]
&gt; ERROR: Source/WebCore/platform/spi/cocoa/CoreTextSPI.h:40:  enum members
&gt; should use InterCaps with an initial capital letter. 
&gt; [readability/enum_casing] [4]
&gt; ERROR: Source/WebCore/platform/spi/cocoa/CoreTextSPI.h:41:  enum members
&gt; should use InterCaps with an initial capital letter. 
&gt; [readability/enum_casing] [4]
&gt; Total errors found: 4 in 9 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

I wonder if it would be worth disabling this check for *SPI.h headers?  Seems to be a common theme that non-WebKit teams at Apple format their constants this way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049297</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-17 13:42:18 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; [...]
&gt; &gt; ERROR: Source/WebCore/platform/spi/cocoa/CoreTextSPI.h:41:  enum members
&gt; &gt; should use InterCaps with an initial capital letter. 
&gt; &gt; [readability/enum_casing] [4]
&gt; &gt; Total errors found: 4 in 9 files
&gt; &gt; 
&gt; &gt; 
&gt; &gt; If any of these errors are false positives, please file a bug against
&gt; &gt; check-webkit-style.
&gt; 
&gt; I wonder if it would be worth disabling this check for *SPI.h headers? 

We could disable such warnings for files whose name ends the suffix SPI.h and/or are in- or in a sub directory of- directory Source/WebCore/platform/spi. Such a change would be beneficial if we anticipate adding such enums regularly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049306</commentid>
    <comment_count>7</comment_count>
      <attachid>241733</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-17 13:52:53 -0800</bug_when>
    <thetext>Comment on attachment 241733
Patch

Clearing flags on attachment: 241733

Committed r176229: &lt;http://trac.webkit.org/changeset/176229&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049307</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-17 13:52:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241642</attachid>
            <date>2014-11-14 16:43:50 -0800</date>
            <delta_ts>2014-11-17 12:25:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138760-20141114164358.patch</filename>
            <type>text/plain</type>
            <size>16898</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI5NWY2MDNkOTI1NTlh
NGZmMzUzZTE0ZDQzYWVlZTcwYjEwZTRmZS4uYWY4NWY3NWVjMGUxOTUxOTZmYzMxMTc1YjI0Y2U2
YmQ2Y2EzOTUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE0LTExLTE0ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbaU9TXSBDb3JlVGV4dCBh
bmQgQ29yZVVJIFNQSSBhcmUgbm90IGF2YWlsYWJsZSBpbiBwdWJsaWMgU0RLCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3NjAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBTUEkgd3JhcHBlciBo
ZWFkZXIgQ29yZVVJU1BJLmggdGhhdCBmb3J3YXJkIGRlY2xhcmVzIENvcmVVSSBTUEkKKyAgICAg
ICAgYW5kIHVzZSB0aGlzIGhlYWRlciBpbnN0ZWFkIG9mIGluY2x1ZGluZyBwcml2YXRlIGhlYWRl
cnMgb2YgQ29yZVVJIGRpcmVjdGx5LgorCisgICAgICAgIEFkZGl0aW9uYWxseSwgYWRkIG1vcmUg
Zm9yd2FyZCBkZWNsYXJhdGlvbnMgZm9yIENvcmVUZXh0IFNQSS4KKworICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIHByb2plY3QgaGVhZGVyIENvcmVVSVNQ
SS5oLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW06IElu
Y2x1ZGUgaGVhZGVyIENvcmVUZXh0U1BJLmggaW5zdGVhZAorICAgICAgICBvZiBpbmNsdWRpbmcg
Q29yZVRleHQgaGVhZGVycyBkaXJlY3RseS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvRm9udE1hYy5tbTogSW5jbHVkZSBoZWFkZXIgQ29yZVVJU1BJLmggaW5zdGVhZAorICAgICAg
ICBvZiBpbmNsdWRpbmcgQ29yZVVJIGhlYWRlcnMgZGlyZWN0bHkuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcDogUmVtb3ZlIHVubmVjZXNz
YXJ5CisgICAgICAgIGluY2x1ZGUgb2YgQ29yZVRleHQgaGVhZGVycy4gVGhlc2UgaGVhZGVycyB3
aWxsIGJlIGluY2x1ZGVkIGJ5IGhlYWRlcgorICAgICAgICBDb3JlVGV4dFNQSS5oIChhdCB0aGUg
dG9wIG9mIHRoZSBmaWxlKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxl
Rm9udERhdGFNYWMubW06IFJlbW92ZSBmb3J3YXJkIGRlY2xhcmF0aW9uCisgICAgICAgIG9mIENU
Rm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udCgpIGFuZCBpbmNsdWRlIG9mIGhlYWRlciBDVEZv
bnREZXNjcmlwdG9yUHJpdi5oCisgICAgICAgIGFzIHRoaXMgZHVwbGljYXRlcyB0aGUgbG9naWMg
aW4gQ29yZVRleHRTUEkuaCwgd2hpY2ggaXMgaW5jbHVkZWQgaW4gdGhpcyBmaWxlLgorICAgICAg
ICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oOiBBZGRlZCBtb3JlIGZvcndhcmQg
ZGVjbGFyYXRpb25zLiBTaW1wbGlmaWVkCisgICAgICAgICNpbmNsdWRlIGRpcmVjdGl2ZXMuCisg
ICAgICAgICogcGxhdGZvcm0vc3BpL2lvcy9Db3JlVUlTUEkuaDogQWRkZWQuCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tOiBNb3ZlIENvcmVVSSBleHRlcm5zIGZyb20gdGhp
cyBmaWxlIHRvIGZpbGUKKyAgICAgICAgQ29yZVVJU1BJLmggYW5kIGluY2x1ZGUgaGVhZGVyIENv
cmVVSVNQSS5oLgorCisyMDE0LTExLTE0ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNv
bT4KKwogICAgICAgICBbaU9TXSBBVktpdCBhbmQgTWVkaWFQbGF5ZXIgU1BJIGFyZSBub3QgYXZh
aWxhYmxlIGluIHB1YmxpYyBTREsKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzODc1NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWVhZTEwOTVhODRkYThhMGI3ZDNh
ZTQzNmFhZWMwNjFiOTBlZTg5ZC4uOWZhYzI1MTFhN2JlNzI0YjJlNWQ4NWQ3MzUzZmNjODIyNjUx
YzdkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACiAyMDE0LTExLTE0ICBEYW5pZWwgQmF0
ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbaU9TXSBDb3JlVGV4dCBhbmQgQ29y
ZVVJIFNQSSBhcmUgbm90IGF2YWlsYWJsZSBpbiBwdWJsaWMgU0RLCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3NjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmNsdWRlIGhlYWRlciBDb3JlVGV4dFNQ
SS5oIGluc3RlYWQgb2YgaW5jbHVkaW5nIENvcmVUZXh0IHByaXZhdGUgaGVhZGVycy4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKworMjAxNC0xMS0xNCAgRGFu
aWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKICAgICAgICAgW2lPU10gQVZLaXQgYW5k
IE1lZGlhUGxheWVyIFNQSSBhcmUgbm90IGF2YWlsYWJsZSBpbiBwdWJsaWMgU0RLCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3NTYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDY5
NmZhNzExOTBhZGE5MWJhYjQ1MmRjZmNiOWUwYjk5OTkzMmFhNWUuLjc1MGIwMjg1NzE3ODc3ODQw
MTdlNjNjMzE1ZTM4MjAzNDI0NDdiNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3NTAsNiArNTc1MCw3IEBACiAJCUNFMTI1
MjNEMUExNjc2Q0QwMDg2NDQ4MCAvKiBRdWFydHpDb3JlU1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTEyNTIzQzFBMTY3NkNEMDA4NjQ0ODAgLyog
UXVhcnR6Q29yZVNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUNFMTI1MjNGMUExNkFFMTIwMDg2NDQ4MCAvKiBBVktpdFNQSS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UxMjUyM0UxQTE2QUUxMjAw
ODY0NDgwIC8qIEFWS2l0U1BJLmggKi87IH07CiAJCUNFMTI1MjQxMUExNkIxQjYwMDg2NDQ4MCAv
KiBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFMTI1MjQwMUExNkIxQjYwMDg2NDQ4MCAvKiBNUEFWUm91dGlu
Z0NvbnRyb2xsZXJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlDRTEyNTI0MzFBMTZDMDFBMDA4NjQ0ODAgLyogQ29yZVVJU1BJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTEyNTI0MjFBMTZDMDFB
MDA4NjQ0ODAgLyogQ29yZVVJU1BJLmggKi87IH07CiAJCUNFN0IyREIzMTU4NkFCQUQwMDk4QjNG
QSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREFGMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRl
cm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDRTdCMkRCNDE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRp
dmVUZXh0VUlDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0U3QjJEQjAxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJ
Q29udHJvbGxlci5tbSAqLzsgfTsKIAkJQ0U3QjJEQjUxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRB
bHRlcm5hdGl2ZVdpdGhSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0U3QjJEQjExNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdp
dGhSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC0xMzIzNSw2ICsxMzIzNiw3IEBACiAJCUNFMTI1MjNDMUExNjc2Q0QwMDg2NDQ4MCAvKiBR
dWFydHpDb3JlU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1YXJ0ekNv
cmVTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UxMjUyM0UxQTE2QUUxMjAw
ODY0NDgwIC8qIEFWS2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFW
S2l0U1BJLmg7IHBhdGggPSBpb3MvQVZLaXRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0UxMjUyNDAxQTE2QjFCNjAwODY0NDgwIC8qIE1QQVZSb3V0aW5nQ29udHJvbGxlclNQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBNUEFWUm91dGluZ0NvbnRyb2xs
ZXJTUEkuaDsgcGF0aCA9IGlvcy9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0UxMjUyNDIxQTE2QzAxQTAwODY0NDgwIC8qIENvcmVVSVNQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDb3JlVUlTUEkuaDsgcGF0aCA9
IGlvcy9Db3JlVUlTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U1Q0IxQjMx
NEVEQUI2RjAwQkIyNzk1IC8qIEV2ZW50U2VuZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEV2ZW50U2VuZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNF
NkQ4OTI5NEM3QUFDRTBBRDg5QjNERCAvKiBNYXRoTUxNZW5jbG9zZUVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MTWVuY2xvc2VFbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFN0IyREFGMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRl
cm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmg7IHBhdGggPSBtYWMvQWx0ZXJuYXRpdmVU
ZXh0VUlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODQ2Nyw2
ICsxODQ2OSw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQlBMTcyMTgyNTE5REUxODNGMDA0NjRE
MTcgLyogX1VJSGlnaGxpZ2h0Vmlld1NQSS5oICovLAogCQkJCUNFMTI1MjNFMUExNkFFMTIwMDg2
NDQ4MCAvKiBBVktpdFNQSS5oICovLAorCQkJCUNFMTI1MjQyMUExNkMwMUEwMDg2NDQ4MCAvKiBD
b3JlVUlTUEkuaCAqLywKIAkJCQlDRTEyNTI0MDFBMTZCMUI2MDA4NjQ0ODAgLyogTVBBVlJvdXRp
bmdDb250cm9sbGVyU1BJLmggKi8sCiAJCQkJQ0UxMjUyMzgxQTE2NkZBMDAwODY0NDgwIC8qIFF1
aWNrTG9va1NQSS5oICovLAogCQkJKTsKQEAgLTIzNTk2LDYgKzIzNTk5LDcgQEAKIAkJCQlFMTQy
NEM5NDE2NEI1MkM4MDBGMzJENDAgLyogQ29va2llSmFyLmggaW4gSGVhZGVycyAqLywKIAkJCQkz
MzlCNUI2MzEzMURBQTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0ZWd5LmggaW4gSGVhZGVycyAq
LywKIAkJCQkzM0QwMjEyRDEzMURCMzdCMDA0MDkxQTggLyogQ29va2llU3RvcmFnZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQ0UxMjUyNDMxQTE2QzAxQTAwODY0NDgwIC8qIENvcmVVSVNQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTc0NkFGMjExNEY0RERFNjAwM0U3QTcxIC8qIENvb3JkaW5hdGVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzY0NjYyNTFBMTJDMzhFMDA5NDYwM0MgLyogQ29yZVRl
eHRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2MkYxMjlFMThDMTU3NkYwMDVDNTRBRiAvKiBD
b3VudGVkVXNlckFjdGl2aXR5LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tCmluZGV4IDQ4YTQ2Yjgy
ODU5ZjkzMDUxNWU5MGNkNDFhZWZhMjk1MWE0NDIxNWQuLjA1OWEwYzhkNjE1M2NhN2Y0ZjVhNTQy
ZTcxYzU2YTg5NmJmNTdlZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbQpAQCAtMzAsMTAgKzMwLDkgQEAKICNpbXBvcnQg
IkZvbnRDYWNoZS5oIgogCiAjaW1wb3J0ICJDb3JlR3JhcGhpY3NTUEkuaCIKKyNpbXBvcnQgIkNv
cmVUZXh0U1BJLmgiCiAjaW1wb3J0ICJGb250LmgiCiAjaW1wb3J0ICJSZW5kZXJUaGVtZUlPUy5o
IgotI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4KLSNpbXBvcnQgPENv
cmVUZXh0L0NURm9udFByaXYuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL3RleHQvQ1N0cmluZy5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQppbmRleCA4
MjE3ZjA3ODExZTUwMjBkZTY2NjY2OTkyYTEzZWM2NWJkZjdjZjU2Li41OTFkZjM5MDJjYjUwZDYz
ODcwMGYwZTM3NGZjMmU1MDhjZTcyMzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQpAQCAtMzcsOSArMzcsOCBAQAogI2ltcG9ydCA8d3Rm
L01hdGhFeHRyYXMuaD4KIAogI2lmIEVOQUJMRShMRVRURVJQUkVTUykKKyNpbXBvcnQgIkNvcmVV
SVNQSS5oIgogI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKLSNpbXBvcnQgPENvcmVVSS9DVUlDYXRh
bG9nLmg+Ci0jaW1wb3J0IDxDb3JlVUkvQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uLmg+CiAK
IFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhDb3JlVUkpCiBTT0ZUX0xJTktfQ0xBU1MoQ29y
ZVVJLCBDVUlDYXRhbG9nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHAKaW5kZXggYzUxNDFjNjY1
NWI0ZjFmNTEwYTE1ODAzOTBlYjJjZjMxNjUxZTQ2Yy4uYWM1MzFmYzc1Y2VkNWU3OTRjMmVhYzJj
ZTUxZmE4YjFkOGYzYzk4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR2x5cGhQYWdlVHJlZU5vZGVNYWMuY3BwCkBAIC0zNiw5ICsz
Niw2IEBACiAjaW5jbHVkZSAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgogI2lmICFQTEFURk9S
TShJT1MpCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2Vz
Lmg+Ci0jZWxzZQotI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udFByaXYuaD4KLSNpbmNsdWRlIDxD
b3JlVGV4dC9Db3JlVGV4dC5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0
YU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250
RGF0YU1hYy5tbQppbmRleCAyYjFkNzg3Yjk1NTFmNGZhYWRhNTYyMTRjNGNlYmMzYzZmN2I4OTYy
Li5jYWJkZGNlODlmMmIzZmQ5YzRhMjg5NWZhOWE1ZDMxYjI4ZDAzZTFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRh
TWFjLm1tCkBAIC00OSwxMSArNDksNiBAQAogI2ltcG9ydCA8d3RmL1N0ZExpYkV4dHJhcy5oPgog
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAm
JiBfX2hhc19pbmNsdWRlKDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPikKLSNpbXBv
cnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+Ci0jZW5kaWYKLWV4dGVybiAiQyIg
Ym9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQoQ1RGb250RGVzY3JpcHRvclJlZik7
Ci0KICNpZiAhUExBVEZPUk0oSU9TKQogQGludGVyZmFjZSBOU0ZvbnQgKFdlYkFwcEtpdFNlY3Jl
dEFQSSkKIC0gKEJPT0wpX2lzRmFrZUZpeGVkUGl0Y2g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvQ29yZVRleHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCmluZGV4IGU3MmNjNGM3YWYwZmJkNWI1NGU5
ZWExMjA4NzMyMTQyYTczMWFiOTQuLmYxOGQwNWVjNjRkOWJiMGI3YzNiOWVjNjcyMzExZWNlMzE2
Zjc3OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9Db3Jl
VGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9Db3JlVGV4
dFNQSS5oCkBAIC0yOSwxMSArMjksMTggQEAKICNpbmNsdWRlIDxDb3JlVGV4dC9Db3JlVGV4dC5o
PgogCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxDb3JlVGV4dC9DVEZv
bnREZXNjcmlwdG9yUHJpdi5oPgotI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udFByaXYuaD4KLSNp
bmNsdWRlIDxDb3JlVGV4dC9DVExpbmVQcml2Lmg+Ci0jaW5jbHVkZSA8Q29yZVRleHQvQ1RSdW5Q
cml2Lmg+Ci0jaW5jbHVkZSA8Q29yZVRleHQvQ1RUeXBlc2V0dGVyUHJpdi5oPgorCisjaW5jbHVk
ZSA8Q29yZVRleHQvQ29yZVRleHRQcml2Lmg+CisKKyNlbHNlCisKK2VudW0geworICAgIGtDVEZv
bnRVSUZvbnRTeXN0ZW1JdGFsaWMgPSAyNywKKyAgICBrQ1RGb250VUlGb250U3lzdGVtVGhpbiA9
IDEwMiwKKyAgICBrQ1RGb250VUlGb250U3lzdGVtTGlnaHQgPSAxMDMsCisgICAga0NURm9udFVJ
Rm9udFN5c3RlbVVsdHJhTGlnaHQgPSAxMDQsCit9OworCiAjZW5kaWYKIAogZXh0ZXJuICJDIiB7
CkBAIC01Niw3ICs2MywzMyBAQCBDR1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJl
ZiBydW4pOwogQ1RMaW5lUmVmIENUTGluZUNyZWF0ZVdpdGhVbmlDaGFyUHJvdmlkZXIoQ1RVbmlD
aGFyUHJvdmlkZXJDYWxsYmFjayBwcm92aWRlLCBDVFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2sgZGlz
cG9zZSwgdm9pZCogcmVmQ29uKTsKIENUVHlwZXNldHRlclJlZiBDVFR5cGVzZXR0ZXJDcmVhdGVX
aXRoVW5pQ2hhclByb3ZpZGVyQW5kT3B0aW9ucyhDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNrIHBy
b3ZpZGUsIENUVW5pQ2hhckRpc3Bvc2VDYWxsYmFjayBkaXNwb3NlLCB2b2lkKiByZWZDb24sIENG
RGljdGlvbmFyeVJlZiBvcHRpb25zKTsKIGJvb2wgQ1RGb250R2V0VmVydGljYWxHbHlwaHNGb3JD
aGFyYWN0ZXJzKENURm9udFJlZiwgY29uc3QgVW5pQ2hhciBjaGFyYWN0ZXJzW10sIENHR2x5cGgg
Z2x5cGhzW10sIENGSW5kZXggY291bnQpOworCitDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERl
c2NyaXB0b3JDcmVhdGVGb3JVSVR5cGUoQ1RGb250VUlGb250VHlwZSwgQ0dGbG9hdCBzaXplLCBD
RlN0cmluZ1JlZiBsYW5ndWFnZSk7CitDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0
b3JDcmVhdGVXaXRoVGV4dFN0eWxlKENGU3RyaW5nUmVmIHN0eWxlLCBDRlN0cmluZ1JlZiBzaXpl
LCBDRlN0cmluZ1JlZiBsYW5ndWFnZSk7Citib29sIENURm9udERlc2NyaXB0b3JJc1N5c3RlbVVJ
Rm9udChDVEZvbnREZXNjcmlwdG9yUmVmKTsKKworI2lmIFBMQVRGT1JNKElPUykgfHwgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMAorZXh0ZXJuIGNvbnN0IENGU3RyaW5n
UmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0SGVhZGxpbmU7CitleHRlcm4gY29uc3QgQ0ZTdHJp
bmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRCb2R5OworZXh0ZXJuIGNvbnN0IENGU3RyaW5n
UmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0U3ViaGVhZDsKK2V4dGVybiBjb25zdCBDRlN0cmlu
Z1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEZvb3Rub3RlOworZXh0ZXJuIGNvbnN0IENGU3Ry
aW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Q2FwdGlvbjE7CitleHRlcm4gY29uc3QgQ0ZT
dHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlVGFsbEJvZHk7CisKK2V4dGVybiBjb25zdCBDRlN0
cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVIZWFkbGluZTsKK2V4dGVybiBjb25zdCBDRlN0cmlu
Z1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVCb2R5OworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtD
VFVJRm9udFRleHRTdHlsZVN1YmhlYWQ7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlG
b250VGV4dFN0eWxlRm9vdG5vdGU7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250
VGV4dFN0eWxlQ2FwdGlvbjE7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4
dFN0eWxlQ2FwdGlvbjI7CisKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250RGVzY3Jp
cHRvclRleHRTdHlsZUVtcGhhc2l6ZWQ7CisjZW5kaWYKKworQ1RGb250UmVmIENURm9udENyZWF0
ZVBoeXNpY2FsRm9udEZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVmLCBjb25zdCBV
VEYxNkNoYXIqIGNoYXJhY3RlcnMsIENGSW5kZXggbGVuZ3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFn
ZSwgQ0ZJbmRleCogY292ZXJlZExlbmd0aCk7Citib29sIENURm9udElzQXBwbGVDb2xvckVtb2pp
KENURm9udFJlZik7CiBib29sIENURm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udChDVEZvbnRE
ZXNjcmlwdG9yUmVmKTsKK0NURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JDU1MoQ0ZTdHJpbmdSZWYg
bmFtZSwgdWludDE2X3Qgd2VpZ2h0LCBDVEZvbnRTeW1ib2xpY1RyYWl0cywgQ0dGbG9hdCBzaXpl
KTsKIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0Nv
cmVVSVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9Db3JlVUlTUEkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNTRmYzE1NTEzNGIwYzU2ZmFjMWU2ZjcyYWZiMTQ5MzViYTllODRlCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9Db3JlVUlTUEku
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0Nv
cmVHcmFwaGljcy5oPgorI2ltcG9ydCA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbXBvcnQgPEZv
dW5kYXRpb24vRm91bmRhdGlvbi5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKwor
I2ltcG9ydCA8Q29yZVVJL0NVSUNhdGFsb2cuaD4KKyNpbXBvcnQgPENvcmVVSS9DVUlTdHlsZUVm
ZmVjdENvbmZpZ3VyYXRpb24uaD4KKworI2Vsc2UKKworQGludGVyZmFjZSBDVUlTdHlsZUVmZmVj
dENvbmZpZ3VyYXRpb24gOiBOU09iamVjdCA8TlNDb3B5aW5nPgorQGVuZAorCitAaW50ZXJmYWNl
IENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvbiAoRGV0YWlscykKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIHVzZVNpbXBsaWZpZWRFZmZlY3Q7CitAZW5kCisKK0BpbnRlcmZhY2UgQ1VJQ2F0
YWxvZyA6IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgQ1VJQ2F0YWxvZyAoRGV0YWlscykK
Ky0gKEJPT0wpZHJhd0dseXBoczooY29uc3QgQ0dHbHlwaFtdKWdseXBocyBhdFBvc2l0aW9uczoo
Y29uc3QgQ0dQb2ludFtdKXBvc2l0aW9ucyBpbkNvbnRleHQ6KENHQ29udGV4dFJlZiljb250ZXh0
IHdpdGhGb250OihDVEZvbnRSZWYpZm9udCBjb3VudDooTlNVSW50ZWdlciljb3VudCBzdHlsZVBy
ZXNldE5hbWU6KE5TU3RyaW5nICopc3R5bGVQcmVzZXROYW1lIHN0eWxlQ29uZmlndXJhdGlvbjoo
Q1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uICopc3R5bGVDb25maWd1cmF0aW9uIGZvcmVncm91
bmRDb2xvcjooQ0dDb2xvclJlZilmb3JlZ3JvdW5kQ29sb3I7CitAZW5kCisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IGRlZTkxYTA0MDg4
YzExNGU2MGFkMTI4MjY4NjU0ZTQxYTJjZTllMmEuLjEyODYxYmE5ZTM0ZjQ4OTY5ZjJjZDYwOGI2
Y2I2ZjkxMWU2Y2EzMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJ
T1MubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAj
aW1wb3J0ICJDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmgiCiAjaW1wb3J0ICJDU1NWYWx1ZUtl
eXdvcmRzLmgiCisjaW1wb3J0ICJDb3JlVGV4dFNQSS5oIgogI2ltcG9ydCAiRGF0ZUNvbXBvbmVu
dHMuaCIKICNpbXBvcnQgIkRvY3VtZW50LmgiCiAjaW1wb3J0ICJGbG9hdFJvdW5kZWRSZWN0Lmgi
CkBAIC00Nyw4ICs0OCw4IEBACiAjaW1wb3J0ICJMb2NhbGl6ZWREYXRlQ2FjaGUuaCIKICNpbXBv
cnQgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2ltcG9ydCAiUGFnZS5oIgotI2ltcG9ydCAiUGxhdGZv
cm1Mb2NhbGUuaCIKICNpbXBvcnQgIlBhaW50SW5mby5oIgorI2ltcG9ydCAiUGxhdGZvcm1Mb2Nh
bGUuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgogI2ltcG9ydCAiUmVuZGVyUHJvZ3Jlc3Mu
aCIKICNpbXBvcnQgIlJlbmRlclN0eWxlLmgiCkBAIC01OSw3ICs2MCw2IEBACiAjaW1wb3J0ICJV
c2VyQWdlbnRTdHlsZVNoZWV0cy5oIgogI2ltcG9ydCAiV2ViQ29yZVRocmVhZFJ1bi5oIgogI2lt
cG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgotI2ltcG9ydCA8Q29yZVRleHQvQ1RG
b250RGVzY3JpcHRvclByaXYuaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgogI2ltcG9ydCA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvUmVmUHRyLmg+CkBAIC04MSwxNCAr
ODEsNiBAQCBTT0ZUX0xJTktfQ09OU1RBTlQoVUlLaXQsIFVJQ29udGVudFNpemVDYXRlZ29yeURp
ZENoYW5nZU5vdGlmaWNhdGlvbiwgQ0ZTdHJpbmdSZQogQGltcGxlbWVudGF0aW9uIFdlYkNvcmVS
ZW5kZXJUaGVtZUJ1bmRsZQogQGVuZAogCi0vLyBUaGlzIGlzIGEgdGVtcG9yYXJ5IGhhY2sgdG8g
YnVpbGQgb24gaU9TLiBTaG91bGQgYmUgcmVtb3ZlZCBhcyBzb29uIGFzIENUIGZpeGVzIHRoZSBo
ZWFkZXIgZmlsZXMuCi1leHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxl
U2hvcnRIZWFkbGluZSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7Ci1leHRlcm4gY29uc3QgQ0ZT
dHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRCb2R5IENUX0FWQUlMQUJMRSgxMF8xMCwg
N18wKTsKLWV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydFN1
YmhlYWQgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVm
IGtDVFVJRm9udFRleHRTdHlsZVNob3J0Rm9vdG5vdGUgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzAp
OwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Q2FwdGlv
bjEgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtD
VFVJRm9udFRleHRTdHlsZVRhbGxCb2R5IENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBmbG9hdCBDb250cm9sQmFzZUhlaWdodCA9IDIwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGYy
YWE0OTcwOTBkNWNkYTA3ZGI3NWMxMmMzMGM2OTgwZjA0MDEzYmMuLmE3ODE2NzYwZmQyNmQ5NzY2
NmY0ZGU5NWU1ZDA0NWJkYmNkZmNhZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE5Nyw4ICsxOTcsNyBAQAogI2luY2x1ZGUgIlJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAiV2ViVmlkZW9GdWxsc2NyZWVuTWFu
YWdlci5oIgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KLSNpbmNsdWRl
IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgotI2luY2x1ZGUgPENvcmVUZXh0L0NU
Rm9udFByaXYuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NvcmVUZXh0U1BJLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9JY29uLmg+CiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241733</attachid>
            <date>2014-11-17 12:25:36 -0800</date>
            <delta_ts>2014-11-17 13:52:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138760-20141117122547.patch</filename>
            <type>text/plain</type>
            <size>16763</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFjNTlhYzE3ZGM1NmYx
MjFiZTUzNWQ1ZjNmMGFlZmE4MjliMDdjYS4uYzkzNjQ2OTlkZTFiOWQ5MDQzNzIyZDM1ZGQ3NmI4
YWU2NWZjNmE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTExLTE0ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBDb3JlVGV4dCBh
bmQgQ29yZVVJIFNQSSBhcmUgbm90IGF2YWlsYWJsZSBpbiBwdWJsaWMgU0RLCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3NjAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBTUEkgd3JhcHBlciBo
ZWFkZXIgQ29yZVVJU1BJLmggdGhhdCBmb3J3YXJkIGRlY2xhcmVzIENvcmVVSSBTUEkKKyAgICAg
ICAgYW5kIHVzZSB0aGlzIGhlYWRlciBpbnN0ZWFkIG9mIGluY2x1ZGluZyBwcml2YXRlIGhlYWRl
cnMgb2YgQ29yZVVJIGRpcmVjdGx5LgorCisgICAgICAgIEFkZGl0aW9uYWxseSwgYWRkIG1vcmUg
Zm9yd2FyZCBkZWNsYXJhdGlvbnMgZm9yIENvcmVUZXh0IFNQSS4KKworICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIHByb2plY3QgaGVhZGVyIENvcmVVSVNQ
SS5oLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW06IElu
Y2x1ZGUgaGVhZGVyIENvcmVUZXh0U1BJLmggaW5zdGVhZAorICAgICAgICBvZiBpbmNsdWRpbmcg
Q29yZVRleHQgaGVhZGVycyBkaXJlY3RseS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvRm9udE1hYy5tbTogSW5jbHVkZSBoZWFkZXIgQ29yZVVJU1BJLmggaW5zdGVhZAorICAgICAg
ICBvZiBpbmNsdWRpbmcgQ29yZVVJIGhlYWRlcnMgZGlyZWN0bHkuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcDogUmVtb3ZlIHVubmVjZXNz
YXJ5CisgICAgICAgIGluY2x1ZGUgb2YgQ29yZVRleHQgaGVhZGVycy4gVGhlc2UgaGVhZGVycyB3
aWxsIGJlIGluY2x1ZGVkIGJ5IGhlYWRlcgorICAgICAgICBDb3JlVGV4dFNQSS5oIChhdCB0aGUg
dG9wIG9mIHRoZSBmaWxlKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxl
Rm9udERhdGFNYWMubW06IFJlbW92ZSBmb3J3YXJkIGRlY2xhcmF0aW9uCisgICAgICAgIG9mIENU
Rm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udCgpIGFuZCBpbmNsdWRlIG9mIGhlYWRlciBDVEZv
bnREZXNjcmlwdG9yUHJpdi5oCisgICAgICAgIGFzIHRoaXMgZHVwbGljYXRlcyB0aGUgbG9naWMg
aW4gQ29yZVRleHRTUEkuaCwgd2hpY2ggaXMgaW5jbHVkZWQgaW4gdGhpcyBmaWxlLgorICAgICAg
ICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oOiBBZGRlZCBtb3JlIGZvcndhcmQg
ZGVjbGFyYXRpb25zLiBTaW1wbGlmaWVkCisgICAgICAgICNpbmNsdWRlIGRpcmVjdGl2ZXMuCisg
ICAgICAgICogcGxhdGZvcm0vc3BpL2lvcy9Db3JlVUlTUEkuaDogQWRkZWQuCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tOiBNb3ZlIENvcmVVSSBleHRlcm5zIGZyb20gdGhp
cyBmaWxlIHRvIGZpbGUKKyAgICAgICAgQ29yZVVJU1BJLmggYW5kIGluY2x1ZGUgaGVhZGVyIENv
cmVVSVNQSS5oLgorCiAyMDE0LTExLTE3ICBKYXZpZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIFVwZ3JhZGUgYWxpZ24tc2Vs
ZiBhbmQgYWxpZ24taXRlbXMgcGFyc2luZyB0byBDU1MgMwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDk5MmM3MGJk
NGRiYzE0ZTFhYWNkNThjMGIzOWMzNTFkMzFlZjFmMmIuLmQ5ZWRkMDg4ZDUxOGJiNzEwNjJlNTI1
ZjFhYmE3ZTVkZDRiOWIwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0xMS0x
NCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQ29y
ZVRleHQgYW5kIENvcmVVSSBTUEkgYXJlIG5vdCBhdmFpbGFibGUgaW4gcHVibGljIFNESworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NzYwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5jbHVkZSBoZWFk
ZXIgQ29yZVRleHRTUEkuaCBpbnN0ZWFkIG9mIGluY2x1ZGluZyBDb3JlVGV4dCBwcml2YXRlIGhl
YWRlcnMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisKIDIw
MTQtMTEtMTcgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdoaXRl
c3BhY2UgYWN0aW9uIG1lbnVzIHNob3VsZCBmb2N1cyB0aGUgSGl0VGVzdFJlc3VsdCBhbmQgY3Jl
YXRlIGFuIGluc2VydGlvbiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAyMDhmYzBhNTViZDljMWQyYjFmYWM1MDQ0YjM0MDcyZDkx
MWJiYTJlLi44OTllZjUxZGMwNTE3NzM4NWFiMDNhZTgxOTMyMTAyOGQ2ZjgyMGQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
NzUxLDYgKzU3NTEsNyBAQAogCQlDRTEyNTIzRDFBMTY3NkNEMDA4NjQ0ODAgLyogUXVhcnR6Q29y
ZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Ux
MjUyM0MxQTE2NzZDRDAwODY0NDgwIC8qIFF1YXJ0ekNvcmVTUEkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTEyNTIzRjFBMTZBRTEyMDA4NjQ0
ODAgLyogQVZLaXRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENFMTI1MjNFMUExNkFFMTIwMDg2NDQ4MCAvKiBBVktpdFNQSS5oICovOyB9OwogCQlD
RTEyNTI0MTFBMTZCMUI2MDA4NjQ0ODAgLyogTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTEyNTI0MDFBMTZC
MUI2MDA4NjQ0ODAgLyogTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0UxMjUyNDMxQTE2QzAxQTAwODY0
NDgwIC8qIENvcmVVSVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0UxMjUyNDIxQTE2QzAxQTAwODY0NDgwIC8qIENvcmVVSVNQSS5oICovOyB9Owog
CQlDRTdCMkRCMzE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTdCMkRB
RjE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0U3QjJEQjQxNTg2
QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREIwMTU4NkFCQUQwMDk4
QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0gKi87IH07CiAJCUNFN0IyREI1
MTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREIxMTU4NkFCQUQwMDk4
QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTMyMzcsNiArMTMyMzgsNyBAQAogCQlDRTEy
NTIzQzFBMTY3NkNEMDA4NjQ0ODAgLyogUXVhcnR6Q29yZVNQSS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBRdWFydHpDb3JlU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNFMTI1MjNFMUExNkFFMTIwMDg2NDQ4MCAvKiBBVktpdFNQSS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBBVktpdFNQSS5oOyBwYXRoID0gaW9zL0FWS2l0U1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFMTI1MjQwMUExNkIxQjYwMDg2NDQ4MCAv
KiBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmg7IHBhdGggPSBpb3MvTVBBVlJvdXRpbmdD
b250cm9sbGVyU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFMTI1MjQyMUEx
NkMwMUEwMDg2NDQ4MCAvKiBDb3JlVUlTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gQ29yZVVJU1BJLmg7IHBhdGggPSBpb3MvQ29yZVVJU1BJLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNFNUNCMUIzMTRFREFCNkYwMEJCMjc5NSAvKiBFdmVudFNlbmRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudFNlbmRlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDRTZEODkyOTRDN0FBQ0UwQUQ4OUIzREQgLyogTWF0aE1M
TWVuY2xvc2VFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGhN
TE1lbmNsb3NlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTdCMkRB
RjE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg0NjgsNiArMTg0NzAsNyBAQAogCQkJ
Y2hpbGRyZW4gPSAoCiAJCQkJQTE3MjE4MjUxOURFMTgzRjAwNDY0RDE3IC8qIF9VSUhpZ2hsaWdo
dFZpZXdTUEkuaCAqLywKIAkJCQlDRTEyNTIzRTFBMTZBRTEyMDA4NjQ0ODAgLyogQVZLaXRTUEku
aCAqLywKKwkJCQlDRTEyNTI0MjFBMTZDMDFBMDA4NjQ0ODAgLyogQ29yZVVJU1BJLmggKi8sCiAJ
CQkJQ0UxMjUyNDAxQTE2QjFCNjAwODY0NDgwIC8qIE1QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5o
ICovLAogCQkJCUNFMTI1MjM4MUExNjZGQTAwMDg2NDQ4MCAvKiBRdWlja0xvb2tTUEkuaCAqLywK
IAkJCSk7CkBAIC0yMzYwMCw2ICsyMzYwMyw3IEBACiAJCQkJRTE0MjRDOTQxNjRCNTJDODAwRjMy
RDQwIC8qIENvb2tpZUphci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzM5QjVCNjMxMzFEQUEzMjAw
RjQ4RDAyIC8qIENvb2tpZXNTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzNEMDIxMkQx
MzFEQjM3QjAwNDA5MUE4IC8qIENvb2tpZVN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCUNF
MTI1MjQzMUExNkMwMUEwMDg2NDQ4MCAvKiBDb3JlVUlTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3NDZBRjIxMTRGNERERTYwMDNFN0E3MSAvKiBDb29yZGluYXRlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0UxMjUyMzcxQTE1QkRCRTAwODY0NDgwIC8qIENvcmVHcmFwaGljc1NQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUM2NDY2MjUxQTEyQzM4RTAwOTQ2MDNDIC8qIENvcmVUZXh0U1BJLmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2lvcy9Gb250Q2FjaGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9pb3MvRm9udENhY2hlSU9TLm1tCmluZGV4IDQ4YTQ2YjgyODU5ZjkzMDUxNWU5MGNkNDFhZWZh
Mjk1MWE0NDIxNWQuLjA1OWEwYzhkNjE1M2NhN2Y0ZjVhNTQyZTcxYzU2YTg5NmJmNTdlZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJ
T1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNo
ZUlPUy5tbQpAQCAtMzAsMTAgKzMwLDkgQEAKICNpbXBvcnQgIkZvbnRDYWNoZS5oIgogCiAjaW1w
b3J0ICJDb3JlR3JhcGhpY3NTUEkuaCIKKyNpbXBvcnQgIkNvcmVUZXh0U1BJLmgiCiAjaW1wb3J0
ICJGb250LmgiCiAjaW1wb3J0ICJSZW5kZXJUaGVtZUlPUy5oIgotI2ltcG9ydCA8Q29yZVRleHQv
Q1RGb250RGVzY3JpcHRvclByaXYuaD4KLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udFByaXYuaD4K
ICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgogI2ltcG9ydCA8d3RmL3RleHQvQ1N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQppbmRleCA4MjE3ZjA3ODExZTUwMjBkZTY2NjY2
OTkyYTEzZWM2NWJkZjdjZjU2Li41OTFkZjM5MDJjYjUwZDYzODcwMGYwZTM3NGZjMmU1MDhjZTcy
MzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1h
Yy5tbQpAQCAtMzcsOSArMzcsOCBAQAogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMuaD4KIAogI2lm
IEVOQUJMRShMRVRURVJQUkVTUykKKyNpbXBvcnQgIkNvcmVVSVNQSS5oIgogI2ltcG9ydCAiU29m
dExpbmtpbmcuaCIKLSNpbXBvcnQgPENvcmVVSS9DVUlDYXRhbG9nLmg+Ci0jaW1wb3J0IDxDb3Jl
VUkvQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uLmg+CiAKIFNPRlRfTElOS19QUklWQVRFX0ZS
QU1FV09SSyhDb3JlVUkpCiBTT0ZUX0xJTktfQ0xBU1MoQ29yZVVJLCBDVUlDYXRhbG9nKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRy
ZWVOb2RlTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlw
aFBhZ2VUcmVlTm9kZU1hYy5jcHAKaW5kZXggYzUxNDFjNjY1NWI0ZjFmNTEwYTE1ODAzOTBlYjJj
ZjMxNjUxZTQ2Yy4uYWM1MzFmYzc1Y2VkNWU3OTRjMmVhYzJjZTUxZmE4YjFkOGYzYzk4NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRy
ZWVOb2RlTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
R2x5cGhQYWdlVHJlZU5vZGVNYWMuY3BwCkBAIC0zNiw5ICszNiw2IEBACiAjaW5jbHVkZSAiV2Vi
Q29yZVN5c3RlbUludGVyZmFjZS5oIgogI2lmICFQTEFURk9STShJT1MpCiAjaW5jbHVkZSA8QXBw
bGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+Ci0jZWxzZQotI2luY2x1ZGUg
PENvcmVUZXh0L0NURm9udFByaXYuaD4KLSNpbmNsdWRlIDxDb3JlVGV4dC9Db3JlVGV4dC5oPgog
I2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQppbmRleCAyYjFk
Nzg3Yjk1NTFmNGZhYWRhNTYyMTRjNGNlYmMzYzZmN2I4OTYyLi5jYWJkZGNlODlmMmIzZmQ5YzRh
Mjg5NWZhOWE1ZDMxYjI4ZDAzZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCkBAIC00OSwxMSArNDks
NiBAQAogI2ltcG9ydCA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0
ci5oPgogCi0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNsdWRlKDxDb3Jl
VGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPikKLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udERl
c2NyaXB0b3JQcml2Lmg+Ci0jZW5kaWYKLWV4dGVybiAiQyIgYm9vbCBDVEZvbnREZXNjcmlwdG9y
SXNTeXN0ZW1VSUZvbnQoQ1RGb250RGVzY3JpcHRvclJlZik7Ci0KICNpZiAhUExBVEZPUk0oSU9T
KQogQGludGVyZmFjZSBOU0ZvbnQgKFdlYkFwcEtpdFNlY3JldEFQSSkKIC0gKEJPT0wpX2lzRmFr
ZUZpeGVkUGl0Y2g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29j
b2EvQ29yZVRleHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9Db3Jl
VGV4dFNQSS5oCmluZGV4IGU3MmNjNGM3YWYwZmJkNWI1NGU5ZWExMjA4NzMyMTQyYTczMWFiOTQu
LmYxOGQwNWVjNjRkOWJiMGI3YzNiOWVjNjcyMzExZWNlMzE2Zjc3OGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCkBAIC0yOSwxMSArMjks
MTggQEAKICNpbmNsdWRlIDxDb3JlVGV4dC9Db3JlVGV4dC5oPgogCiAjaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKLSNpbmNsdWRlIDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgot
I2luY2x1ZGUgPENvcmVUZXh0L0NURm9udFByaXYuaD4KLSNpbmNsdWRlIDxDb3JlVGV4dC9DVExp
bmVQcml2Lmg+Ci0jaW5jbHVkZSA8Q29yZVRleHQvQ1RSdW5Qcml2Lmg+Ci0jaW5jbHVkZSA8Q29y
ZVRleHQvQ1RUeXBlc2V0dGVyUHJpdi5oPgorCisjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHRQ
cml2Lmg+CisKKyNlbHNlCisKK2VudW0geworICAgIGtDVEZvbnRVSUZvbnRTeXN0ZW1JdGFsaWMg
PSAyNywKKyAgICBrQ1RGb250VUlGb250U3lzdGVtVGhpbiA9IDEwMiwKKyAgICBrQ1RGb250VUlG
b250U3lzdGVtTGlnaHQgPSAxMDMsCisgICAga0NURm9udFVJRm9udFN5c3RlbVVsdHJhTGlnaHQg
PSAxMDQsCit9OworCiAjZW5kaWYKIAogZXh0ZXJuICJDIiB7CkBAIC01Niw3ICs2MywzMyBAQCBD
R1NpemUgQ1RSdW5HZXRJbml0aWFsQWR2YW5jZShDVFJ1blJlZiBydW4pOwogQ1RMaW5lUmVmIENU
TGluZUNyZWF0ZVdpdGhVbmlDaGFyUHJvdmlkZXIoQ1RVbmlDaGFyUHJvdmlkZXJDYWxsYmFjayBw
cm92aWRlLCBDVFVuaUNoYXJEaXNwb3NlQ2FsbGJhY2sgZGlzcG9zZSwgdm9pZCogcmVmQ29uKTsK
IENUVHlwZXNldHRlclJlZiBDVFR5cGVzZXR0ZXJDcmVhdGVXaXRoVW5pQ2hhclByb3ZpZGVyQW5k
T3B0aW9ucyhDVFVuaUNoYXJQcm92aWRlckNhbGxiYWNrIHByb3ZpZGUsIENUVW5pQ2hhckRpc3Bv
c2VDYWxsYmFjayBkaXNwb3NlLCB2b2lkKiByZWZDb24sIENGRGljdGlvbmFyeVJlZiBvcHRpb25z
KTsKIGJvb2wgQ1RGb250R2V0VmVydGljYWxHbHlwaHNGb3JDaGFyYWN0ZXJzKENURm9udFJlZiwg
Y29uc3QgVW5pQ2hhciBjaGFyYWN0ZXJzW10sIENHR2x5cGggZ2x5cGhzW10sIENGSW5kZXggY291
bnQpOworCitDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVGb3JVSVR5
cGUoQ1RGb250VUlGb250VHlwZSwgQ0dGbG9hdCBzaXplLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSk7
CitDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoVGV4dFN0eWxl
KENGU3RyaW5nUmVmIHN0eWxlLCBDRlN0cmluZ1JlZiBzaXplLCBDRlN0cmluZ1JlZiBsYW5ndWFn
ZSk7Citib29sIENURm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udChDVEZvbnREZXNjcmlwdG9y
UmVmKTsKKworI2lmIFBMQVRGT1JNKElPUykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDEwMAorZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHls
ZVNob3J0SGVhZGxpbmU7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0
eWxlU2hvcnRCb2R5OworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHls
ZVNob3J0U3ViaGVhZDsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5
bGVTaG9ydEZvb3Rub3RlOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRT
dHlsZVNob3J0Q2FwdGlvbjE7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4
dFN0eWxlVGFsbEJvZHk7CisKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0
U3R5bGVIZWFkbGluZTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5
bGVCb2R5OworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVN1Ymhl
YWQ7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlRm9vdG5vdGU7
CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlQ2FwdGlvbjE7Citl
eHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlQ2FwdGlvbjI7CisKK2V4
dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250RGVzY3JpcHRvclRleHRTdHlsZUVtcGhhc2l6
ZWQ7CisjZW5kaWYKKworQ1RGb250UmVmIENURm9udENyZWF0ZVBoeXNpY2FsRm9udEZvckNoYXJh
Y3RlcnNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVmLCBjb25zdCBVVEYxNkNoYXIqIGNoYXJhY3RlcnMs
IENGSW5kZXggbGVuZ3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ0ZJbmRleCogY292ZXJlZExl
bmd0aCk7Citib29sIENURm9udElzQXBwbGVDb2xvckVtb2ppKENURm9udFJlZik7CiBib29sIENU
Rm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udChDVEZvbnREZXNjcmlwdG9yUmVmKTsKK0NURm9u
dFJlZiBDVEZvbnRDcmVhdGVGb3JDU1MoQ0ZTdHJpbmdSZWYgbmFtZSwgdWludDE2X3Qgd2VpZ2h0
LCBDVEZvbnRTeW1ib2xpY1RyYWl0cywgQ0dGbG9hdCBzaXplKTsKIAogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0NvcmVVSVNQSS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9Db3JlVUlTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNTRmYzE1NTEz
NGIwYzU2ZmFjMWU2ZjcyYWZiMTQ5MzViYTllODRlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9Db3JlVUlTUEkuaApAQCAtMCwwICsxLDUxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2ltcG9y
dCA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5o
PgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8Q29yZVVJL0NVSUNh
dGFsb2cuaD4KKyNpbXBvcnQgPENvcmVVSS9DVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb24uaD4K
KworI2Vsc2UKKworQGludGVyZmFjZSBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb24gOiBOU09i
amVjdCA8TlNDb3B5aW5nPgorQGVuZAorCitAaW50ZXJmYWNlIENVSVN0eWxlRWZmZWN0Q29uZmln
dXJhdGlvbiAoRGV0YWlscykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVzZVNpbXBsaWZp
ZWRFZmZlY3Q7CitAZW5kCisKK0BpbnRlcmZhY2UgQ1VJQ2F0YWxvZyA6IE5TT2JqZWN0CitAZW5k
CisKK0BpbnRlcmZhY2UgQ1VJQ2F0YWxvZyAoRGV0YWlscykKKy0gKEJPT0wpZHJhd0dseXBoczoo
Y29uc3QgQ0dHbHlwaFtdKWdseXBocyBhdFBvc2l0aW9uczooY29uc3QgQ0dQb2ludFtdKXBvc2l0
aW9ucyBpbkNvbnRleHQ6KENHQ29udGV4dFJlZiljb250ZXh0IHdpdGhGb250OihDVEZvbnRSZWYp
Zm9udCBjb3VudDooTlNVSW50ZWdlciljb3VudCBzdHlsZVByZXNldE5hbWU6KE5TU3RyaW5nICop
c3R5bGVQcmVzZXROYW1lIHN0eWxlQ29uZmlndXJhdGlvbjooQ1VJU3R5bGVFZmZlY3RDb25maWd1
cmF0aW9uICopc3R5bGVDb25maWd1cmF0aW9uIGZvcmVncm91bmRDb2xvcjooQ0dDb2xvclJlZilm
b3JlZ3JvdW5kQ29sb3I7CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IGRlZTkxYTA0MDg4YzExNGU2MGFkMTI4MjY4NjU0ZTQx
YTJjZTllMmEuLjEyODYxYmE5ZTM0ZjQ4OTY5ZjJjZDYwOGI2Y2I2ZjkxMWU2Y2EzMTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTMwLDYgKzMwLDcg
QEAKICNpbXBvcnQgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW1wb3J0ICJDU1NUb0xlbmd0aENv
bnZlcnNpb25EYXRhLmgiCiAjaW1wb3J0ICJDU1NWYWx1ZUtleXdvcmRzLmgiCisjaW1wb3J0ICJD
b3JlVGV4dFNQSS5oIgogI2ltcG9ydCAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbXBvcnQgIkRvY3Vt
ZW50LmgiCiAjaW1wb3J0ICJGbG9hdFJvdW5kZWRSZWN0LmgiCkBAIC00Nyw4ICs0OCw4IEBACiAj
aW1wb3J0ICJMb2NhbGl6ZWREYXRlQ2FjaGUuaCIKICNpbXBvcnQgIk5vZGVSZW5kZXJTdHlsZS5o
IgogI2ltcG9ydCAiUGFnZS5oIgotI2ltcG9ydCAiUGxhdGZvcm1Mb2NhbGUuaCIKICNpbXBvcnQg
IlBhaW50SW5mby5oIgorI2ltcG9ydCAiUGxhdGZvcm1Mb2NhbGUuaCIKICNpbXBvcnQgIlJlbmRl
ck9iamVjdC5oIgogI2ltcG9ydCAiUmVuZGVyUHJvZ3Jlc3MuaCIKICNpbXBvcnQgIlJlbmRlclN0
eWxlLmgiCkBAIC01OSw3ICs2MCw2IEBACiAjaW1wb3J0ICJVc2VyQWdlbnRTdHlsZVNoZWV0cy5o
IgogI2ltcG9ydCAiV2ViQ29yZVRocmVhZFJ1bi5oIgogI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0Nv
cmVHcmFwaGljcy5oPgotI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4K
ICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CiAjaW1wb3J0IDx3dGYvUmVmUHRyLmg+CkBAIC04MSwxNCArODEsNiBAQCBTT0ZUX0xJTktfQ09O
U1RBTlQoVUlLaXQsIFVJQ29udGVudFNpemVDYXRlZ29yeURpZENoYW5nZU5vdGlmaWNhdGlvbiwg
Q0ZTdHJpbmdSZQogQGltcGxlbWVudGF0aW9uIFdlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZQogQGVu
ZAogCi0vLyBUaGlzIGlzIGEgdGVtcG9yYXJ5IGhhY2sgdG8gYnVpbGQgb24gaU9TLiBTaG91bGQg
YmUgcmVtb3ZlZCBhcyBzb29uIGFzIENUIGZpeGVzIHRoZSBoZWFkZXIgZmlsZXMuCi1leHRlcm4g
Y29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRIZWFkbGluZSBDVF9BVkFJ
TEFCTEUoMTBfMTAsIDdfMCk7Ci1leHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4
dFN0eWxlU2hvcnRCb2R5IENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4dGVybiBjb25zdCBD
RlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydFN1YmhlYWQgQ1RfQVZBSUxBQkxFKDEw
XzEwLCA3XzApOwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNo
b3J0Rm9vdG5vdGUgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOwotZXh0ZXJuIGNvbnN0IENGU3Ry
aW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Q2FwdGlvbjEgQ1RfQVZBSUxBQkxFKDEwXzEw
LCA3XzApOwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVRhbGxC
b2R5IENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
b25zdCBmbG9hdCBDb250cm9sQmFzZUhlaWdodCA9IDIwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDNlNzVjMjljNmYzZWIxZGMwZDc5N2Fj
OGJjMzM5YjljMTc4OGY0MTguLjU5OWY5MzljZTNiYTM2ZDU2OTc3Y2FiNDcwOGFhYzNjOGE2MzQy
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
QEAgLTE5Nyw4ICsxOTcsNyBAQAogI2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
LmgiCiAjaW5jbHVkZSAiV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5oIgogI2luY2x1ZGUgPENv
cmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KLSNpbmNsdWRlIDxDb3JlVGV4dC9DVEZvbnREZXNj
cmlwdG9yUHJpdi5oPgotI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udFByaXYuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0NvcmVUZXh0U1BJLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JY29uLmg+CiAjZW5k
aWYKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>