<?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>143273</bug_id>
          
          <creation_ts>2015-03-31 12:23:57 -0700</creation_ts>
          <short_desc>Move ExpansionBehaviorFlags and TextDirection to their own file</short_desc>
          <delta_ts>2015-03-31 14:35:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>142608</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>hyatt</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1081733</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-03-31 12:23:57 -0700</bug_when>
    <thetext>Move ExpansionBehaviorFlags and TextDirection to their own file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081734</commentid>
    <comment_count>1</comment_count>
      <attachid>249841</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-03-31 12:25:36 -0700</bug_when>
    <thetext>Created attachment 249841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081735</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-31 12:26:59 -0700</bug_when>
    <thetext>Attachment 249841 did not pass style-queue:


ERROR: Source/WebCore/platform/text/TextHelpers.h:31:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 in 48 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>1081761</commentid>
    <comment_count>3</comment_count>
      <attachid>249841</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-03-31 13:32:07 -0700</bug_when>
    <thetext>Comment on attachment 249841
Patch

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

&gt; Source/WebCore/platform/text/TextHelpers.h:27
&gt; +#define TextHelpers_h

Not sure I like the name of this file. I&apos;d expect a &quot;helpers&quot; file to contain a bunch of static functions that help me with text. This is more like TextFlags.h or TextRelatedEnums.h

&gt; Source/WebCore/platform/text/TextHelpers.h:38
&gt; +    ForbidLeadingExpansion = 0 &lt;&lt; 1,

0 &lt;&lt; anything is 0. Why not just say 0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081775</commentid>
    <comment_count>4</comment_count>
      <attachid>249841</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-03-31 14:05:40 -0700</bug_when>
    <thetext>Comment on attachment 249841
Patch

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

&gt;&gt; Source/WebCore/platform/text/TextHelpers.h:27
&gt;&gt; +#define TextHelpers_h
&gt; 
&gt; Not sure I like the name of this file. I&apos;d expect a &quot;helpers&quot; file to contain a bunch of static functions that help me with text. This is more like TextFlags.h or TextRelatedEnums.h

Done.

&gt;&gt; Source/WebCore/platform/text/TextHelpers.h:38
&gt;&gt; +    ForbidLeadingExpansion = 0 &lt;&lt; 1,
&gt; 
&gt; 0 &lt;&lt; anything is 0. Why not just say 0?

When this enum gets more complicated, it will be more obvious what is going on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081784</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-03-31 14:35:26 -0700</bug_when>
    <thetext>Committed r182207: &lt;http://trac.webkit.org/changeset/182207&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249841</attachid>
            <date>2015-03-31 12:25:36 -0700</date>
            <delta_ts>2015-03-31 13:32:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143273-20150331122453.patch</filename>
            <type>text/plain</type>
            <size>54152</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM3ZDFjM2MwODZlNmIw
NThjODA3MWU1ZjRlYjE4MzM3YzE5YTEwMy4uOTBjOGFkMTkwZTM2YTY4MmI0OTUzZTAwZmVlYzQ3
YWZlMWUwYTJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDE1LTAzLTMxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBFeHBh
bnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRoZWlyIG93biBmaWxlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMyNzMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEg
bWVjaGFuaWNhbCBjaGFuZ2UuIEl0IGp1c3QgbW92ZXMgY29kZSBhcm91bmQuCisKKyAgICAgICAg
VGhpcyBpcyBnZXR0aW5nIHJlYWR5IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQyNjA4CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMg
bm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6
CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3Mv
Q1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5o
OgorICAgICAgICAqIGRvbS9Qb3NpdGlvbi5oOgorICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVBv
c2l0aW9uLmg6CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlVW5pdHMuaDoKKyAgICAgICAgKiBl
ZGl0aW5nL2h0bWxlZGl0aW5nLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmg6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoQm94Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vUG9wdXBNZW51U3R5bGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FzY2FkZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0xheW91dEJv
eEV4dGVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3MvU2VsZWN0aW9uUmVjdC5oOgorICAgICAgICAqIHBsYXRmb3JtL3Rl
eHQvQmlkaVJlc29sdmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9TdHJpbmdXaXRoRGly
ZWN0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0SGVscGVycy5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RGlyZWN0aW9uLmguCisgICAg
ICAgIChXZWJDb3JlOjppc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTWVudVdpbjo6
cGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9FbGxpcHNpc0JveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFbGxpcHNpc0JveDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxsaXBzaXNC
b3g6OnNlbGVjdGlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxsaXBzaXNCb3g6OnBhaW50
U2VsZWN0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdExvY2F0aW9uLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSW5s
aW5lQm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3guaDoKKyAgICAgICAg
KFdlYkNvcmU6OklubGluZVRleHRCb3g6OmV4cGFuc2lvbkJlaGF2aW9yKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RydWN0VGV4
dFJ1bkludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb25zdHJ1Y3RU
ZXh0UnVuKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnBhaW50T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxpc3RNYXJrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtl
cjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVNYXJrZXJSZWN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoUmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9w
dGlvbnNXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpnZXRBdmVyYWdlQ2hhcldpZHRo
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW06CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdJ
bmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OmNv
bnN0cnVjdFRleHRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dE1ldHJpY3M6OmNvbnN0cnVjdFRleHRSdW4p
OgorCiAyMDE1LTAzLTMwICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTmV3IEJsb2NrLUluc2lkZS1JbmxpbmUgTW9kZWxdIE1ha2Ugc3VyZSBsaW5lIGJyZWFrcyBv
Y2N1ciBiZWZvcmUgYW5kIGFmdGVyIHRoZSBhbm9ueW1vdXMgaW5saW5lLWJsb2NrLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9pb3MvQ2hh
bmdlTG9nCmluZGV4IDUzMTUzMDdhNDA2ZjI0OWVmYzc2YTQ5ZjRjZmZiMTU1NGEzYzRiNzcuLjQ0
MzM5ODAwMTMwYjNhMzhlMzc2MTBmMjBjNjk0MmRkMDE0YTQ2Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvaW9zL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxNS0wMy0zMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgRXhwYW5zaW9uQmVoYXZpb3JGbGFncyBhbmQg
VGV4dERpcmVjdGlvbiB0byB0aGVpciBvd24gZmlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIG1lY2hhbmljYWwgY2hhbmdlLiBJdCBq
dXN0IG1vdmVzIGNvZGUgYXJvdW5kLgorCisgICAgICAgIFRoaXMgaXMgZ2V0dGluZyByZWFkeSBm
b3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjYwOAorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVJT1MubW06CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViVmlzaWJsZVBvc2l0aW9uLm1tOgorCiAyMDE1LTAzLTA5ICBEYXZpZCBLaWx6ZXIg
IDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRml4IGJ1aWxkIHdoZW4gY29t
cGlsaW5nIHdpdGggZGVhZCBjb2RlIHN0cmlwcGluZyBkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDk0
Y2VmZDg1MTBiNzE4YTJlNGQ1OWQzNjBhNDJjZjM1ODYzMzU1ZGEuLjkyOTU4YWQxNGI2MzRmZGM2
YTYyZmM1Yjk5YzBjMzUzZWViOGVjNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAx
NS0wMy0zMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAg
ICAgIE1vdmUgRXhwYW5zaW9uQmVoYXZpb3JGbGFncyBhbmQgVGV4dERpcmVjdGlvbiB0byB0aGVp
ciBvd24gZmlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQzMjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBpcyBhIG1lY2hhbmljYWwgY2hhbmdlLiBJdCBqdXN0IG1vdmVzIGNvZGUgYXJvdW5k
LgorCisgICAgICAgIFRoaXMgaXMgZ2V0dGluZyByZWFkeSBmb3IgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjYwOAorCisgICAgICAgICogU2hhcmVkL1dlYlBvcHVw
SXRlbS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tBUElDYXN0RWZsLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQb3B1cE1lbnVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViVUlQb3B1
cE1lbnVDbGllbnQuaDoKKwogMjAxNS0wMy0zMSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydCBhY2NpZGVudGFsIGNoYW5n
ZSBieSByMTgyMTM4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGNkMjZkMDVkYWQ2NDM5NDVjYmE2YTNlMjI5YmFmNjg4
MTQzZjQ1MGEuLjkyNjgwYTQyODMwZmEyYWIwOGFjMDMzY2RmNzI2NzY4YzY2NzllNGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmgKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUg
IlVSTC5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNsaWVudC5oIgotI2luY2x1ZGUgIlRleHRE
aXJlY3Rpb24uaCIKKyNpbmNsdWRlICJUZXh0SGVscGVycy5oIgogI2luY2x1ZGUgIlRocmVhZGFi
bGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvagppbmRleCA0NDllMDA2YTI2NDY1M2M0Yjc0MzM3YWYyYjllMDI4OWFlMzcw
NTc4Li45ZWM1Y2Y1ZTc5MzNjZThmODI2ODRlZDk3Yzc2YWI4NDc5MjI3Y2UwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTIwMTEzLDcg
KzIwMTEzLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXHRleHRcVGV4
dENvZGVjVXNlckRlZmluZWQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXHRleHRcVGV4dENvZGVjVVRGMTYuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXHRleHRcVGV4dENvZGVjVVRGOC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cdGV4dFxUZXh0RGlyZWN0aW9uLmgiIC8+CisgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVx0ZXh0XFRleHRIZWxwZXJzLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVx0ZXh0XFRleHRFbmNvZGluZy5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cdGV4dFxUZXh0RW5jb2RpbmdEZXRlY3Rvci5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cdGV4dFxUZXh0RW5jb2RpbmdS
ZWdpc3RyeS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGY1ZmQxMjM0Mjc3MjhiYzlmZGVmM2I0NmJl
NzU0MjI0NDdjMzA5ODUuLjJmNjQ4MTg2MzEwZjE1ZmM3NjdiNTYxYTMyYjJkZDMyZDUzYzlkMGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qLmZpbHRlcnMKQEAgLTg5NzMsNyArODk3Myw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVx0ZXh0XFRleHRDb2RlY1VURjguaCI+CiAgICAgICA8RmlsdGVyPnBs
YXRmb3JtXHRleHQ8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXHRleHRcVGV4dERpcmVjdGlvbi5oIj4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXHRleHRcVGV4dEhlbHBlcnMuaCI+CiAgICAgICA8RmlsdGVy
PnBsYXRmb3JtXHRleHQ8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXHRleHRcVGV4dEVuY29kaW5nLmgiPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDE5ZDIzNTlm
Yjg4OWI4MDQxODYxNmE1ODVkMjhlMDJmMGIxNzM4ZTUuLjhmODI0YTE5NzhmYzdhMmE2ODBlYTNh
MWFiN2E0M2QwNGM0NjE5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ3NzgsNyArNDc3OCw3IEBACiAJCUIyQzNEQTQwMEQw
MDZDMUQwMEVGNkYyNiAvKiBUZXh0Q29kZWNVc2VyRGVmaW5lZC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJDM0RBMTAwRDAwNkMxRDAwRUY2RjI2IC8q
IFRleHRDb2RlY1VzZXJEZWZpbmVkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQjJDM0RBNDEwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRDb2RlY1VU
RjE2LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
QzNEQTExMEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0Q29kZWNVVEYxNi5jcHAgKi87IH07CiAJCUIy
QzNEQTQyMEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0Q29kZWNVVEYxNi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJDM0RBMTIwRDAwNkMxRDAwRUY2RjI2
IC8qIFRleHRDb2RlY1VURjE2LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJQjJDM0RBNDUwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHREaXJlY3Rpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQzNEQTE1
MEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0RGlyZWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQjJDM0RBNDUwRDAwNkMxRDAwRUY2RjI2IC8q
IFRleHRIZWxwZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMkMzREExNTBEMDA2QzFEMDBFRjZGMjYgLyogVGV4dEhlbHBlcnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCMkMzREE0NjBEMDA2QzFE
MDBFRjZGMjYgLyogVGV4dEVuY29kaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIyQzNEQTE2MEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0RW5jb2Rp
bmcuY3BwICovOyB9OwogCQlCMkMzREE0NzBEMDA2QzFEMDBFRjZGMjYgLyogVGV4dEVuY29kaW5n
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkMzREEx
NzBEMDA2QzFEMDBFRjZGMjYgLyogVGV4dEVuY29kaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjJDM0RBNDgwRDAwNkMxRDAwRUY2RjI2IC8q
IFRleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIyQzNEQTE4MEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0RW5jb2RpbmdS
ZWdpc3RyeS5jcHAgKi87IH07CkBAIC0xMjI1Myw3ICsxMjI1Myw3IEBACiAJCUIyQzNEQTEwMEQw
MDZDMUQwMEVGNkYyNiAvKiBUZXh0Q29kZWNVc2VyRGVmaW5lZC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVGV4dENvZGVjVXNlckRlZmluZWQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjJDM0RBMTEwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRDb2RlY1VURjE2
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0Q29kZWNVVEYx
Ni5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyQzNEQTEyMEQwMDZDMUQwMEVG
NkYyNiAvKiBUZXh0Q29kZWNVVEYxNi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVGV4dENvZGVjVVRGMTYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjJDM0RB
MTUwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHREaXJlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFRleHREaXJlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQjJDM0RBMTUwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRIZWxwZXJzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0SGVscGVycy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMkMzREExNjBEMDA2QzFEMDBFRjZGMjYgLyogVGV4dEVuY29kaW5nLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0RW5jb2RpbmcuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkMzREExNzBEMDA2QzFEMDBFRjZGMjYg
LyogVGV4dEVuY29kaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0
RW5jb2RpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJDM0RBMTgwRDAwNkMx
RDAwRUY2RjI2IC8qIFRleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yMDkxMiw3ICsyMDkxMiw3IEBACiAJCQkJQjJDM0RBMTIwRDAw
NkMxRDAwRUY2RjI2IC8qIFRleHRDb2RlY1VURjE2LmggKi8sCiAJCQkJOTM0M0NCN0YxMkYyNUU1
MTAwMzNDNUVFIC8qIFRleHRDb2RlY1VURjguY3BwICovLAogCQkJCTkzNDNDQjgwMTJGMjVFNTEw
MDMzQzVFRSAvKiBUZXh0Q29kZWNVVEY4LmggKi8sCi0JCQkJQjJDM0RBMTUwRDAwNkMxRDAwRUY2
RjI2IC8qIFRleHREaXJlY3Rpb24uaCAqLywKKwkJCQlCMkMzREExNTBEMDA2QzFEMDBFRjZGMjYg
LyogVGV4dEhlbHBlcnMuaCAqLywKIAkJCQlCMkMzREExNjBEMDA2QzFEMDBFRjZGMjYgLyogVGV4
dEVuY29kaW5nLmNwcCAqLywKIAkJCQlCMkMzREExNzBEMDA2QzFEMDBFRjZGMjYgLyogVGV4dEVu
Y29kaW5nLmggKi8sCiAJCQkJQzEwNURBNjMwRjNBQTZCODAwMURENDRGIC8qIFRleHRFbmNvZGlu
Z0RldGVjdG9yLmggKi8sCkBAIC0yNjc3Nyw3ICsyNjc3Nyw3IEBACiAJCQkJQjJDM0RBNDIwRDAw
NkMxRDAwRUY2RjI2IC8qIFRleHRDb2RlY1VURjE2LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzQz
Q0I4MjEyRjI1RTUxMDAzM0M1RUUgLyogVGV4dENvZGVjVVRGOC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMTQyQjk3Q0ExMzEzODk0MzAwOEJFRjRCIC8qIFRleHRDb250cm9sSW5uZXJFbGVtZW50cy5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJQjJDM0RBNDUwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHREaXJl
Y3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUIyQzNEQTQ1MEQwMDZDMUQwMEVGNkYyNiAvKiBU
ZXh0SGVscGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCQzg0QjQxMjM3MTE4MDAwMEM2MTYx
IC8qIFRleHREb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCQzg0ODQxMjM2RkQ5MzAw
MEM2MTYxIC8qIFRleHREb2N1bWVudFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RB
NDcwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRFbmNvZGluZy5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA1ODgw
N2ZjZjc4ODkwODYzODc1OTdlNDc0ZGUwY2E4MzRiNTU4NGMzLi5mNmM1ZTYxMmEyNWE2NTVhOGVl
MWI5MDJiZjMyZDRiOWM5ODAyOTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTQ1LDcgKzQ1LDcgQEAKICNpbmNsdWRlICJQYXRoLmgi
CiAjaW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJT
dHlsZURlZnMuaCIKLSNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCisjaW5jbHVkZSAiVGV4dEhl
bHBlcnMuaCIKICNpbmNsdWRlICJUZXh0UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgIlRoZW1l
VHlwZXMuaCIKICNpbmNsdWRlICJVbmljb2RlQmlkaS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHku
aAppbmRleCA1MjI2MjdlYmNlNWQ4NzFhZmEwYjA5NWY4YzNhN2MxMGE2M2NkNDc4Li40NmU4YmY0
M2UzODdhNGZmMmY3NWI2Yjg5OThiYzc3ZTc5ODRlZDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuaApAQCAtMjUsNyArMjUsNyBAQAogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNp
bmNsdWRlICJDU1NWYWx1ZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCi0j
aW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgorI2luY2x1ZGUgIlRleHRIZWxwZXJzLmgiCiAjaW5j
bHVkZSAiV3JpdGluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgKaW5kZXggOWQ2YmQyZWFiMzk4ODRi
Y2NkYmY0NTNjOWIwZjZkNjU5MTk0Y2U0OS4uYjhhZmNmYTg5YzgyODczYjgxZTVjMzI4OTMzYWU3
NzlhMTU5ZTYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNs
dWRlICJDb250YWluZXJOb2RlLmgiCiAjaW5jbHVkZSAiRWRpdGluZ0JvdW5kYXJ5LmgiCiAjaW5j
bHVkZSAiVGV4dEFmZmluaXR5LmgiCi0jaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgorI2luY2x1
ZGUgIlRleHRIZWxwZXJzLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oCmluZGV4IGZmODUxY2FjZTJjMWNlNDdiODk0OGM4
ZTFkMWNiN2Q2ZjJlNDI2YzkuLjc1OTJhZDgzMmY4ZDQwNWYzYzk5MDY5MGJiNDE2NmM3NGQ2ZTBj
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaApAQCAtMjgsNyAr
MjgsNyBAQAogCiAjaW5jbHVkZSAiRWRpdGluZ0JvdW5kYXJ5LmgiCiAjaW5jbHVkZSAiUG9zaXRp
b24uaCIKLSNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCisjaW5jbHVkZSAiVGV4dEhlbHBlcnMu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1Zpc2libGVVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlVW5p
dHMuaAppbmRleCBlZDk2NTVmODIxMWZlMjM4ZjA2YTc2NDY1ZTZiNWEyMDU1ZTNhNzA3Li5iODJj
M2I3NTUwMjY0MTg2NDVmZjZkMGRmYzRjOTk1ZjYzYzc5NzVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVmlzaWJsZVVuaXRzLmgKQEAgLTI3LDcgKzI3LDcgQEAKICNkZWZpbmUgVmlzaWJsZVVuaXRz
X2gKIAogI2luY2x1ZGUgIkVkaXRpbmdCb3VuZGFyeS5oIgotI2luY2x1ZGUgIlRleHREaXJlY3Rp
b24uaCIKKyNpbmNsdWRlICJUZXh0SGVscGVycy5oIgogI2luY2x1ZGUgIlZpc2libGVTZWxlY3Rp
b24uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9odG1sZWRpdGluZy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGlu
Zy5oCmluZGV4IDk0N2M1N2MzMDdjMmRkZmE1YzMwNWNkMTJjYzkwNTViY2ExMmI0YTIuLjA0ZGY1
ODY1N2NkYmE1ZGM4YzdlOWFjYzkyY2EzOGJjNDk5NGVlNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2h0bWxlZGl0aW5nLmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkVkaXRpbmdCb3Vu
ZGFyeS5oIgogI2luY2x1ZGUgIlBvc2l0aW9uLmgiCi0jaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5o
IgorI2luY2x1ZGUgIlRleHRIZWxwZXJzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAppbmRl
eCAwZmJlMmE1YTE5ZDkyODNhYTBlOWQ2MGY2MDg2NzAzODc0MWE3ZDdmLi5jYjcwODQ2YjU3MDE5
NThkMDdkN2VmYTYzMTlkNGRkOTE0Njk1NWIwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKQEAgLTIzMDUsNyAr
MjMwNSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3VGV4dEludGVybmFs
KGNvbnN0IFN0cmluZyYgdGV4dCwgZmxvYXQgeCwgZmxvCiAgICAgYm9vbCBpc1JUTCA9IGRpcmVj
dGlvbiA9PSBSVEw7CiAgICAgYm9vbCBvdmVycmlkZSA9IGNvbXB1dGVkU3R5bGUgPyBpc092ZXJy
aWRlKGNvbXB1dGVkU3R5bGUtPnVuaWNvZGVCaWRpKCkpIDogZmFsc2U7CiAKLSAgICBUZXh0UnVu
IHRleHRSdW4obm9ybWFsaXplZFRleHQsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBh
bnNpb24sIGRpcmVjdGlvbiwgb3ZlcnJpZGUsIHRydWUsIFRleHRSdW46Ok5vUm91bmRpbmcpOwor
ICAgIFRleHRSdW4gdGV4dFJ1bihub3JtYWxpemVkVGV4dCwgMCwgMCwgQWxsb3dUcmFpbGluZ0V4
cGFuc2lvbiwgZGlyZWN0aW9uLCBvdmVycmlkZSwgdHJ1ZSwgVGV4dFJ1bjo6Tm9Sb3VuZGluZyk7
CiAgICAgLy8gRHJhdyB0aGUgaXRlbSB0ZXh0IGF0IHRoZSBjb3JyZWN0IHBvaW50LgogICAgIEZs
b2F0UG9pbnQgbG9jYXRpb24oeCwgeSk7CiAgICAgc3dpdGNoIChzdGF0ZSgpLm1fdGV4dEJhc2Vs
aW5lKSB7CkBAIC0yMzI2LDcgKzIzMjYsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6ZHJhd1RleHRJbnRlcm5hbChjb25zdCBTdHJpbmcmIHRleHQsIGZsb2F0IHgsIGZsbwogICAg
ICAgICBicmVhazsKICAgICB9CiAKLSAgICBmbG9hdCBmb250V2lkdGggPSBmb250LndpZHRoKFRl
eHRSdW4obm9ybWFsaXplZFRleHQsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNp
b24sIGRpcmVjdGlvbiwgb3ZlcnJpZGUpKTsKKyAgICBmbG9hdCBmb250V2lkdGggPSBmb250Lndp
ZHRoKFRleHRSdW4obm9ybWFsaXplZFRleHQsIDAsIDAsIEFsbG93VHJhaWxpbmdFeHBhbnNpb24s
IGRpcmVjdGlvbiwgb3ZlcnJpZGUpKTsKIAogICAgIHVzZU1heFdpZHRoID0gKHVzZU1heFdpZHRo
ICYmIG1heFdpZHRoIDwgZm9udFdpZHRoKTsKICAgICBmbG9hdCB3aWR0aCA9IHVzZU1heFdpZHRo
ID8gbWF4V2lkdGggOiBmb250V2lkdGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCmluZGV4IDQ5YzQ0Y2I5ZjBmMDBlYjEy
ZmM5M2MwMzliNTY4M2E0NWQ2NjVjY2MuLjRmMTk0YWY5NzUwMTI4MmQ2MDg5NTFkMTAyOTI3NDU3
ZWIyYTRiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5oCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiSW1hZ2VC
dWZmZXIuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgot
I2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKKyNpbmNsdWRlICJUZXh0SGVscGVycy5oIgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoQm94LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGhCb3guaAppbmRleCBhZjllY2ZiNjEwMTJhOTdjZjgyM2Y1
MmI0YTg0OGU5ZTliNzliNjYyLi40ZWZhNDJkOTBiZTgwZTRmYmVhNDgwNDM2NDViMzg2NzNiMDll
N2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGhCb3guaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGhCb3guaApAQCAtMjMsNyArMjMsNyBAQAog
I2RlZmluZSBMZW5ndGhCb3hfaAogCiAjaW5jbHVkZSAiTGVuZ3RoLmgiCi0jaW5jbHVkZSAiVGV4
dERpcmVjdGlvbi5oIgorI2luY2x1ZGUgIlRleHRIZWxwZXJzLmgiCiAjaW5jbHVkZSAiV3JpdGlu
Z01vZGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUG9wdXBNZW51U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bv
cHVwTWVudVN0eWxlLmgKaW5kZXggY2Q2NzJhNjE3NTNlZmExNTBmNDc0NzQ3YzI4YWE1NzM1YTgw
MGE5Yy4uOWFiZDQ0NjE4NzgyOTk4Nzg1MDRlYzhiNWU3NjdiYzQ1MzkwMjZjNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51U3R5bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVTdHlsZS5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5j
bHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJGb250Q2FzY2FkZS5oIgogI2luY2x1ZGUgIkxlbmd0
aC5oIgotI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKKyNpbmNsdWRlICJUZXh0SGVscGVycy5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4IDdhNDgxZDJlNzIzMzNlNmRhNjQ1Njg5ZTI0NDNi
NmY3YTY1MzQ5NDIuLjFhZTlkNjc4YWRmZmIyNjZmODJhYTA4NDA4MjVmNDJhMzFjMmY5MTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaApAQCAt
MzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkZvbnRDYXNjYWRlRm9udHMuaCIKICNpbmNsdWRlICJG
b250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJQYXRoLmgiCi0jaW5jbHVkZSAiVGV4dERpcmVj
dGlvbi5oIgorI2luY2x1ZGUgIlRleHRIZWxwZXJzLmgiCiAjaW5jbHVkZSAiVHlwZXNldHRpbmdG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0xheW91
dEJveEV4dGVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTGF5b3V0Qm94
RXh0ZW50LmgKaW5kZXggMWM1NzI3NWI3MmU3ZDc0ODdiYWZiYmRlY2JiYzdkMjk4MTU1YTZhMi4u
Mjk5ZmNhYjlmMTg1ZjU2ZWY5MmFkNWU5ODE3NzExN2Y2MmFkMzQ0YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTGF5b3V0Qm94RXh0ZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTGF5b3V0Qm94RXh0ZW50LmgKQEAgLTMyLDcg
KzMyLDcgQEAKICNkZWZpbmUgTGF5b3V0Qm94RXh0ZW50X2gKIAogI2luY2x1ZGUgIkxheW91dFVu
aXQuaCIKLSNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCisjaW5jbHVkZSAiVGV4dEhlbHBlcnMu
aCIKICNpbmNsdWRlICJXcml0aW5nTW9kZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKaW5kZXggMmIwYTM0MzczMTAx
OGU3NzNiZThhMDU0Yzc3MmI0MjlmOGY0ZjZmOS4uOGZlNDlmMGMwOTcxMWE2MzJlZTNlNzI5NDcz
OThjOWMxOGUxMjU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVGV4dFJ1bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaApAQCAtMjQsNyArMjQsNyBAQAogI2lmbmRlZiBUZXh0UnVuX2gKICNkZWZpbmUgVGV4dFJ1
bl9oCiAKLSNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCisjaW5jbHVkZSAiVGV4dEhlbHBlcnMu
aCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z1ZpZXcuaD4KIApAQCAtNDQsMTUgKzQ0LDYgQEAgc3RydWN0IFdpZHRoSXRlcmF0b3I7CiBjbGFz
cyBUZXh0UnVuIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBl
bnVtIEV4cGFuc2lvbkJlaGF2aW9yRmxhZ3MgewotICAgICAgICBGb3JiaWRUcmFpbGluZ0V4cGFu
c2lvbiA9IDAgPDwgMCwKLSAgICAgICAgQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiA9IDEgPDwgMCwK
LSAgICAgICAgRm9yYmlkTGVhZGluZ0V4cGFuc2lvbiA9IDAgPDwgMSwKLSAgICAgICAgQWxsb3dM
ZWFkaW5nRXhwYW5zaW9uID0gMSA8PCAxLAotICAgIH07Ci0KLSAgICB0eXBlZGVmIHVuc2lnbmVk
IEV4cGFuc2lvbkJlaGF2aW9yOwotCiAgICAgZW51bSBSb3VuZGluZ0hhY2tGbGFncyB7CiAgICAg
ICAgIE5vUm91bmRpbmcgPSAwLAogICAgICAgICBSdW5Sb3VuZGluZyA9IDEgPDwgMCwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TZWxlY3Rpb25SZWN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2VsZWN0aW9uUmVjdC5oCmluZGV4IDdlNWQ2OWY4YTdi
ZTQ0NmRjNjQ4YjljYzJjYzk1MDA4ZWQ5OWMyN2MuLmRkOTI4ODMwOTI2NDM1ZGQ3NWQwMDM4NjFl
OWNlMTc5YTkyOTVmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9T
ZWxlY3Rpb25SZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1NlbGVjdGlv
blJlY3QuaApAQCAtMjcsNyArMjcsNyBAQAogI2RlZmluZSBTZWxlY3Rpb25SZWN0X2gKIAogI2lu
Y2x1ZGUgIkludFJlY3QuaCIKLSNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCisjaW5jbHVkZSAi
VGV4dEhlbHBlcnMuaCIKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlS
ZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApp
bmRleCBjOTBjNGRjNDBiMjA0MWM4Mzg0ODU3OGM3MThlY2JmOGM3YTNmNzJkLi5jNThmYWExMmU0
M2UzMmY4Zjc5ZmUxYWE3YTZmYjIwNzU2OWM2M2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvQmlkaVJlc29sdmVyLmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogI2luY2x1ZGUgIkJp
ZGlDb250ZXh0LmgiCiAjaW5jbHVkZSAiQmlkaVJ1bkxpc3QuaCIKLSNpbmNsdWRlICJUZXh0RGly
ZWN0aW9uLmgiCisjaW5jbHVkZSAiVGV4dEhlbHBlcnMuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nV2l0
aERpcmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdXaXRoRGly
ZWN0aW9uLmgKaW5kZXggMzgzM2IxY2RjZmQxMzRjODczMzhiNDFjYTY3NGYwOTk0YWZkNjBiNy4u
ZGQwMzIwZTBjMmIwMDBhYjRmY2JhYmRlNmYxMTcyNTk1Mjk0MzQ5NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdXaXRoRGlyZWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdXaXRoRGlyZWN0aW9uLmgKQEAgLTMxLDcg
KzMxLDcgQEAKICNpZm5kZWYgU3RyaW5nV2l0aERpcmVjdGlvbl9oCiAjZGVmaW5lIFN0cmluZ1dp
dGhEaXJlY3Rpb25faAogCi0jaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgorI2luY2x1ZGUgIlRl
eHRIZWxwZXJzLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dERpcmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RGlyZWN0aW9u
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwZjJmZTgxNGFmY2RlMmZmMWJiMmUz
Y2YxODZkMmIxY2RkOTE5YmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RGlyZWN0aW9uLmgKKysr
IC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDAzLCAy
MDA2IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIFRleHREaXJlY3Rpb25faAotI2RlZmlu
ZSBUZXh0RGlyZWN0aW9uX2gKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1lbnVtIFRleHREaXJl
Y3Rpb24geyBSVEwsIExUUiB9OwotCi1pbmxpbmUgYm9vbCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KFRleHREaXJlY3Rpb24gZGlyZWN0aW9uKSB7IHJldHVybiBkaXJlY3Rpb24gPT0gTFRSOyB9Ci0K
LX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRIZWxwZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRIZWxwZXJzLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYmYyYTliYzE3YjFlYzFhOWJhNDM3NjE0ZjRjNGQwYWEyYjJiMTgxYwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEhlbHBlcnMu
aApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA2IEFwcGxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaWZuZGVmIFRleHRIZWxwZXJzX2gKKyNkZWZpbmUgVGV4dEhlbHBl
cnNfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gVGV4dERpcmVjdGlvbiB7IFJUTCwg
TFRSIH07CisKK2lubGluZSBib29sIGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oVGV4dERpcmVjdGlv
biBkaXJlY3Rpb24pIHsgcmV0dXJuIGRpcmVjdGlvbiA9PSBMVFI7IH0KKworZW51bSBFeHBhbnNp
b25CZWhhdmlvckZsYWdzIHsKKyAgICBGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbiA9IDAgPDwgMCwK
KyAgICBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uID0gMSA8PCAwLAorICAgIEZvcmJpZExlYWRpbmdF
eHBhbnNpb24gPSAwIDw8IDEsCisgICAgQWxsb3dMZWFkaW5nRXhwYW5zaW9uID0gMSA8PCAxLAor
fTsKKwordHlwZWRlZiB1bnNpZ25lZCBFeHBhbnNpb25CZWhhdmlvcjsKKworfQorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAKaW5kZXggNTVh
OGM0YmQ2MTg3N2M3MTg1NmE4YTUzNzEyMjMzY2YxN2NjYzFmNi4uOGQxOTljOWRhY2I5Y2FjZTYw
NDUxNzZkYjg4MTg5MmEzNDA5NGIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL1BvcHVwTWVudVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L1BvcHVwTWVudVdpbi5jcHAKQEAgLTYzOCw3ICs2MzgsNyBAQCB2b2lkIFBvcHVwTWVudVdpbjo6
cGFpbnQoY29uc3QgSW50UmVjdCYgZGFtYWdlUmVjdCwgSERDIGhkYykKIAogICAgICAgICBTdHJp
bmcgaXRlbVRleHQgPSBjbGllbnQoKS0+aXRlbVRleHQoaW5kZXgpOwogCi0gICAgICAgIFRleHRS
dW4gdGV4dFJ1bihpdGVtVGV4dCwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lv
biwgaXRlbVN0eWxlLnRleHREaXJlY3Rpb24oKSwgaXRlbVN0eWxlLmhhc1RleHREaXJlY3Rpb25P
dmVycmlkZSgpKTsKKyAgICAgICAgVGV4dFJ1biB0ZXh0UnVuKGl0ZW1UZXh0LCAwLCAwLCBBbGxv
d1RyYWlsaW5nRXhwYW5zaW9uLCBpdGVtU3R5bGUudGV4dERpcmVjdGlvbigpLCBpdGVtU3R5bGUu
aGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKCkpOwogICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xv
cihvcHRpb25UZXh0Q29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwogICAgICAgICAKICAgICAg
ICAgRm9udENhc2NhZGUgaXRlbUZvbnQgPSBjbGllbnQoKS0+bWVudVN0eWxlKCkuZm9udCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKaW5kZXggOTU1MjcxZTgyZDdj
ODUzYjk2ZTk5Mzc5MmNiNTFkYTU2ZjAyNDYyOS4uNjZlYWFiYjFhZmJlYTA2MjBjMGNjZmYwNDEy
N2QzYzRhMTYwMjkyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0VsbGlw
c2lzQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3Bw
CkBAIC02NSw3ICs2NSw3IEBAIHZvaWQgRWxsaXBzaXNCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsIExhCiAgICAgfQogCiAgICAg
Ly8gRklYTUU6IFdoeSBpcyB0aGlzIGFsd2F5cyBMVFI/IEZpeCBieSBwYXNzaW5nIGNvcnJlY3Qg
dGV4dCBydW4gZmxhZ3MgYmVsb3cuCi0gICAgY29udGV4dC0+ZHJhd1RleHQoZm9udCwgUmVuZGVy
QmxvY2s6OmNvbnN0cnVjdFRleHRSdW4oJmJsb2NrRmxvdygpLCBmb250LCBtX3N0ciwgbGluZVN0
eWxlLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uKSwgTGF5b3V0UG9pbnQoeCgpICsg
cGFpbnRPZmZzZXQueCgpLCB5KCkgKyBwYWludE9mZnNldC55KCkgKyBsaW5lU3R5bGUuZm9udE1l
dHJpY3MoKS5hc2NlbnQoKSkpOworICAgIGNvbnRleHQtPmRyYXdUZXh0KGZvbnQsIFJlbmRlckJs
b2NrOjpjb25zdHJ1Y3RUZXh0UnVuKCZibG9ja0Zsb3coKSwgZm9udCwgbV9zdHIsIGxpbmVTdHls
ZSwgQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiksIExheW91dFBvaW50KHgoKSArIHBhaW50T2Zmc2V0
LngoKSwgeSgpICsgcGFpbnRPZmZzZXQueSgpICsgbGluZVN0eWxlLmZvbnRNZXRyaWNzKCkuYXNj
ZW50KCkpKTsKIAogICAgIC8vIFJlc3RvcmUgdGhlIHJlZ3VsYXIgZmlsbCBjb2xvci4KICAgICBp
ZiAodGV4dENvbG9yICE9IGNvbnRleHQtPmZpbGxDb2xvcigpKQpAQCAtMTE0LDcgKzExNCw3IEBA
IEludFJlY3QgRWxsaXBzaXNCb3g6OnNlbGVjdGlvblJlY3QoKQogICAgIGNvbnN0IFJvb3RJbmxp
bmVCb3gmIHJvb3RCb3ggPSByb290KCk7CiAgICAgLy8gRklYTUU6IFdoeSBpcyB0aGlzIGFsd2F5
cyBMVFI/IEZpeCBieSBwYXNzaW5nIGNvcnJlY3QgdGV4dCBydW4gZmxhZ3MgYmVsb3cuCiAgICAg
TGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0ID0gTGF5b3V0UmVjdCh4KCksIHkoKSArIHJvb3RCb3gu
c2VsZWN0aW9uVG9wQWRqdXN0ZWRGb3JQcmVjZWRpbmdCbG9jaygpLCAwLCByb290Qm94LnNlbGVj
dGlvbkhlaWdodEFkanVzdGVkRm9yUHJlY2VkaW5nQmxvY2soKSk7Ci0gICAgZm9udC5hZGp1c3RT
ZWxlY3Rpb25SZWN0Rm9yVGV4dChSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bigmYmxvY2tG
bG93KCksIGZvbnQsIG1fc3RyLCBsaW5lU3R5bGUsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBh
bnNpb24pLCBzZWxlY3Rpb25SZWN0KTsKKyAgICBmb250LmFkanVzdFNlbGVjdGlvblJlY3RGb3JU
ZXh0KFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKCZibG9ja0Zsb3coKSwgZm9udCwgbV9z
dHIsIGxpbmVTdHlsZSwgQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiksIHNlbGVjdGlvblJlY3QpOwog
ICAgIC8vIEZJWE1FOiB1c2UgZGlyZWN0aW9uYWwgcGl4ZWwgc25hcHBpbmcgaW5zdGVhZC4KICAg
ICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChzZWxlY3Rpb25SZWN0KTsKIH0KQEAgLTEzNSw3ICsx
MzUsNyBAQCB2b2lkIEVsbGlwc2lzQm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IExheW91dFBvaW50JiBwYQogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRl
U2F2ZXIgc3RhdGVTYXZlcigqY29udGV4dCk7CiAgICAgLy8gRklYTUU6IFdoeSBpcyB0aGlzIGFs
d2F5cyBMVFI/IEZpeCBieSBwYXNzaW5nIGNvcnJlY3QgdGV4dCBydW4gZmxhZ3MgYmVsb3cuCiAg
ICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0ID0gTGF5b3V0UmVjdCh4KCkgKyBwYWludE9mZnNl
dC54KCksIHkoKSArIHBhaW50T2Zmc2V0LnkoKSArIHJvb3RCb3guc2VsZWN0aW9uVG9wKCksIDAs
IHJvb3RCb3guc2VsZWN0aW9uSGVpZ2h0KCkpOwotICAgIFRleHRSdW4gcnVuID0gUmVuZGVyQmxv
Y2s6OmNvbnN0cnVjdFRleHRSdW4oJmJsb2NrRmxvdygpLCBmb250LCBtX3N0ciwgc3R5bGUsIFRl
eHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24pOworICAgIFRleHRSdW4gcnVuID0gUmVuZGVy
QmxvY2s6OmNvbnN0cnVjdFRleHRSdW4oJmJsb2NrRmxvdygpLCBmb250LCBtX3N0ciwgc3R5bGUs
IEFsbG93VHJhaWxpbmdFeHBhbnNpb24pOwogICAgIGZvbnQuYWRqdXN0U2VsZWN0aW9uUmVjdEZv
clRleHQocnVuLCBzZWxlY3Rpb25SZWN0LCAwLCAtMSk7CiAgICAgY29udGV4dC0+ZmlsbFJlY3Qo
c25hcFJlY3RUb0RldmljZVBpeGVsc1dpdGhXcml0aW5nRGlyZWN0aW9uKHNlbGVjdGlvblJlY3Qs
IHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpLCBydW4ubHRyKCkpLCBj
LCBzdHlsZS5jb2xvclNwYWNlKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRl
c3RMb2NhdGlvbi5oCmluZGV4IGQwNzVlOTc0OGFkMGVkMWU1Mjg5NjVkNmFkYWQ1NmNlYTc4NWU4
NDYuLjIyNGVlZDMzOTcxZjk0ZDYwYmY0M2M0OWMzMzNlYWRjZTU2NjljMjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdExvY2F0aW9uLmgKQEAgLTI3LDcgKzI3LDcgQEAKICNp
bmNsdWRlICJIaXRUZXN0UmVxdWVzdC5oIgogI2luY2x1ZGUgIkxheW91dFJlY3QuaCIKICNpbmNs
dWRlICJSb3VuZGVkUmVjdC5oIgotI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKKyNpbmNsdWRl
ICJUZXh0SGVscGVycy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L0xpc3RIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKaW5kZXggM2RjN2M4MTIxNmZiMzRlZGM4MjM4Y2ZkYjE3
MWJmODllOWQ2ZmNiYi4uNTZiMTdkZmQwZGY1YTZkYWM2MWUyMDIxYTM1M2IzZWJjNTMzZWU5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCkBAIC0yNyw3ICsyNyw3
IEBACiAjaW5jbHVkZSAiSGl0VGVzdExvY2F0aW9uLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlcXVl
c3QuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCi0jaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5o
IgorI2luY2x1ZGUgIlRleHRIZWxwZXJzLmgiCiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lQm94LmgKaW5kZXggNDZlNjhhZmU5YjA5OTY2OTNjYjI5ODg1ZjBkODM5
MmEyNjgyMDFjNC4uNDRiNDY1ZWFjNTAwNjNkYzc0ZTY0ZGIyMzk0ZGY0MzhhNDI5MDljOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaApAQCAtMjMsNyArMjMsNyBAQAogCiAjaW5j
bHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0LmgiCi0j
aW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgorI2luY2x1ZGUgIlRleHRIZWxwZXJzLmgiCiAjaW5j
bHVkZSA8d3RmL1R5cGVDYXN0cy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAppbmRleCBiMTkzMzQ4Y2VlMTA1MzA2MGFkNWJh
YmQ5MGEwMTgxM2M4YmMxZDQ4Li40NTZlNmU2ZmU4ZTAzZGNjMTY5MTU1NDkzNDQ0NzM0MmE4YTVl
OGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKQEAgLTE2MCwx
MCArMTYwLDEwIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwbGFjZW1l
bnRNYXJrZXIoUmVuZGVyZWREb2N1bWVudE1hcmtlciYsIGNvbnN0IFJlbmRlclN0eWxlJiwgY29u
c3QgRm9udENhc2NhZGUmKTsKIAotICAgIFRleHRSdW46OkV4cGFuc2lvbkJlaGF2aW9yIGV4cGFu
c2lvbkJlaGF2aW9yKCkgY29uc3QKKyAgICBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNpb25CZWhh
dmlvcigpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gKGNhbkhhdmVMZWFkaW5nRXhwYW5z
aW9uKCkgPyBUZXh0UnVuOjpBbGxvd0xlYWRpbmdFeHBhbnNpb24gOiBUZXh0UnVuOjpGb3JiaWRM
ZWFkaW5nRXhwYW5zaW9uKQotICAgICAgICAgICAgfCAocmVuZGVyZXIoKS5jb250ZW50SXNLbm93
blRvRm9sbG93KCkgfHwgKGV4cGFuc2lvbigpICYmIG5leHRMZWFmQ2hpbGQoKSAmJiAhbmV4dExl
YWZDaGlsZCgpLT5pc0xpbmVCcmVhaygpKSA/IFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNp
b24gOiBUZXh0UnVuOjpGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbik7CisgICAgICAgIHJldHVybiAo
Y2FuSGF2ZUxlYWRpbmdFeHBhbnNpb24oKSA/IEFsbG93TGVhZGluZ0V4cGFuc2lvbiA6IEZvcmJp
ZExlYWRpbmdFeHBhbnNpb24pCisgICAgICAgICAgICB8IChyZW5kZXJlcigpLmNvbnRlbnRJc0tu
b3duVG9Gb2xsb3coKSB8fCAoZXhwYW5zaW9uKCkgJiYgbmV4dExlYWZDaGlsZCgpICYmICFuZXh0
TGVhZkNoaWxkKCktPmlzTGluZUJyZWFrKCkpID8gQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiA6IEZv
cmJpZFRyYWlsaW5nRXhwYW5zaW9uKTsKICAgICB9CiAKICAgICB2b2lkIGJlaGF2ZXNMaWtlVGV4
dCgpIGNvbnN0ID0gZGVsZXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAKaW5kZXggM2U1OGE2YmZmYWNmYzlmODhiZTE5MzYwZWNiMDMwZjRhMGZlMWRmMC4uNDU2N2Y5
MmQ0YzMzMzhhZWQ0ZWNkY2RiODYzNjBjYjIwNWIzZmFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0zNjcxLDcgKzM2NzEsNyBAQCBjb25zdCBjaGFyKiBS
ZW5kZXJCbG9jazo6cmVuZGVyTmFtZSgpIGNvbnN0CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgotc3RhdGljIGlubGluZSBUZXh0UnVuIGNvbnN0cnVjdFRleHRSdW5JbnRl
cm5hbChSZW5kZXJPYmplY3QqIGNvbnRleHQsIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBjb25z
dCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCBpbnQgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHls
ZSYgc3R5bGUsIFRleHRSdW46OkV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbikKK3N0YXRpYyBp
bmxpbmUgVGV4dFJ1biBjb25zdHJ1Y3RUZXh0UnVuSW50ZXJuYWwoUmVuZGVyT2JqZWN0KiBjb250
ZXh0LCBjb25zdCBGb250Q2FzY2FkZSYgZm9udCwgY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFj
dGVycywgaW50IGxlbmd0aCwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBFeHBhbnNpb25CZWhh
dmlvciBleHBhbnNpb24pCiB7CiAgICAgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uID0gTFRS
OwogICAgIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IHN0eWxlLnJ0bE9yZGVyaW5nKCkgPT0g
VmlzdWFsT3JkZXI7CkBAIC0zNjg2LDcgKzM2ODYsNyBAQCBzdGF0aWMgaW5saW5lIFRleHRSdW4g
Y29uc3RydWN0VGV4dFJ1bkludGVybmFsKFJlbmRlck9iamVjdCogY29udGV4dCwgY29uc3QgRm9u
dAogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KLXN0YXRpYyBpbmxpbmUg
VGV4dFJ1biBjb25zdHJ1Y3RUZXh0UnVuSW50ZXJuYWwoUmVuZGVyT2JqZWN0KiBjb250ZXh0LCBj
b25zdCBGb250Q2FzY2FkZSYgZm9udCwgY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywg
aW50IGxlbmd0aCwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBUZXh0UnVuOjpFeHBhbnNpb25C
ZWhhdmlvciBleHBhbnNpb24sIFRleHRSdW5GbGFncyBmbGFncykKK3N0YXRpYyBpbmxpbmUgVGV4
dFJ1biBjb25zdHJ1Y3RUZXh0UnVuSW50ZXJuYWwoUmVuZGVyT2JqZWN0KiBjb250ZXh0LCBjb25z
dCBGb250Q2FzY2FkZSYgZm9udCwgY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgaW50
IGxlbmd0aCwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBFeHBhbnNpb25CZWhhdmlvciBleHBh
bnNpb24sIFRleHRSdW5GbGFncyBmbGFncykKIHsKICAgICBUZXh0RGlyZWN0aW9uIHRleHREaXJl
Y3Rpb24gPSBMVFI7CiAgICAgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gc3R5bGUucnRsT3Jk
ZXJpbmcoKSA9PSBWaXN1YWxPcmRlcjsKQEAgLTM3MDUsMjQgKzM3MDUsMjQgQEAgc3RhdGljIGlu
bGluZSBUZXh0UnVuIGNvbnN0cnVjdFRleHRSdW5JbnRlcm5hbChSZW5kZXJPYmplY3QqIGNvbnRl
eHQsIGNvbnN0IEZvbnQKICAgICByZXR1cm4gcnVuOwogfQogCi1UZXh0UnVuIFJlbmRlckJsb2Nr
Ojpjb25zdHJ1Y3RUZXh0UnVuKFJlbmRlck9iamVjdCogY29udGV4dCwgY29uc3QgRm9udENhc2Nh
ZGUmIGZvbnQsIGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJzLCBpbnQgbGVuZ3RoLCBjb25zdCBSZW5k
ZXJTdHlsZSYgc3R5bGUsIFRleHRSdW46OkV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbikKK1Rl
eHRSdW4gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4oUmVuZGVyT2JqZWN0KiBjb250ZXh0
LCBjb25zdCBGb250Q2FzY2FkZSYgZm9udCwgY29uc3QgTENoYXIqIGNoYXJhY3RlcnMsIGludCBs
ZW5ndGgsIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5z
aW9uKQogewogICAgIHJldHVybiBjb25zdHJ1Y3RUZXh0UnVuSW50ZXJuYWwoY29udGV4dCwgZm9u
dCwgY2hhcmFjdGVycywgbGVuZ3RoLCBzdHlsZSwgZXhwYW5zaW9uKTsKIH0KIAotVGV4dFJ1biBS
ZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihSZW5kZXJPYmplY3QqIGNvbnRleHQsIGNvbnN0
IEZvbnRDYXNjYWRlJiBmb250LCBjb25zdCBVQ2hhciogY2hhcmFjdGVycywgaW50IGxlbmd0aCwg
Y29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBUZXh0UnVuOjpFeHBhbnNpb25CZWhhdmlvciBleHBh
bnNpb24pCitUZXh0UnVuIFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKFJlbmRlck9iamVj
dCogY29udGV4dCwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFVDaGFyKiBjaGFyYWN0
ZXJzLCBpbnQgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIEV4cGFuc2lvbkJlaGF2
aW9yIGV4cGFuc2lvbikKIHsKICAgICByZXR1cm4gY29uc3RydWN0VGV4dFJ1bkludGVybmFsKGNv
bnRleHQsIGZvbnQsIGNoYXJhY3RlcnMsIGxlbmd0aCwgc3R5bGUsIGV4cGFuc2lvbik7CiB9CiAK
LVRleHRSdW4gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4oUmVuZGVyT2JqZWN0KiBjb250
ZXh0LCBjb25zdCBGb250Q2FzY2FkZSYgZm9udCwgY29uc3QgUmVuZGVyVGV4dCogdGV4dCwgY29u
c3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBUZXh0UnVuOjpFeHBhbnNpb25CZWhhdmlvciBleHBhbnNp
b24pCitUZXh0UnVuIFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKFJlbmRlck9iamVjdCog
Y29udGV4dCwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFJlbmRlclRleHQqIHRleHQs
IGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uKQog
ewogICAgIGlmICh0ZXh0LT5pczhCaXQoKSkKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdFRleHRS
dW5JbnRlcm5hbChjb250ZXh0LCBmb250LCB0ZXh0LT5jaGFyYWN0ZXJzOCgpLCB0ZXh0LT50ZXh0
TGVuZ3RoKCksIHN0eWxlLCBleHBhbnNpb24pOwogICAgIHJldHVybiBjb25zdHJ1Y3RUZXh0UnVu
SW50ZXJuYWwoY29udGV4dCwgZm9udCwgdGV4dC0+Y2hhcmFjdGVyczE2KCksIHRleHQtPnRleHRM
ZW5ndGgoKSwgc3R5bGUsIGV4cGFuc2lvbik7CiB9CiAKLVRleHRSdW4gUmVuZGVyQmxvY2s6OmNv
bnN0cnVjdFRleHRSdW4oUmVuZGVyT2JqZWN0KiBjb250ZXh0LCBjb25zdCBGb250Q2FzY2FkZSYg
Zm9udCwgY29uc3QgUmVuZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBs
ZW5ndGgsIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgVGV4dFJ1bjo6RXhwYW5zaW9uQmVoYXZp
b3IgZXhwYW5zaW9uKQorVGV4dFJ1biBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihSZW5k
ZXJPYmplY3QqIGNvbnRleHQsIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBjb25zdCBSZW5kZXJU
ZXh0KiB0ZXh0LCB1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgUmVuZGVy
U3R5bGUmIHN0eWxlLCBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNpb24pCiB7CiAgICAgQVNTRVJU
KG9mZnNldCArIGxlbmd0aCA8PSB0ZXh0LT50ZXh0TGVuZ3RoKCkpOwogICAgIGlmICh0ZXh0LT5p
czhCaXQoKSkKQEAgLTM3MzAsNyArMzczMCw3IEBAIFRleHRSdW4gUmVuZGVyQmxvY2s6OmNvbnN0
cnVjdFRleHRSdW4oUmVuZGVyT2JqZWN0KiBjb250ZXh0LCBjb25zdCBGb250Q2FzY2FkZSYKICAg
ICByZXR1cm4gY29uc3RydWN0VGV4dFJ1bkludGVybmFsKGNvbnRleHQsIGZvbnQsIHRleHQtPmNo
YXJhY3RlcnMxNigpICsgb2Zmc2V0LCBsZW5ndGgsIHN0eWxlLCBleHBhbnNpb24pOwogfQogCi1U
ZXh0UnVuIFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKFJlbmRlck9iamVjdCogY29udGV4
dCwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBS
ZW5kZXJTdHlsZSYgc3R5bGUsIFRleHRSdW46OkV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbiwg
VGV4dFJ1bkZsYWdzIGZsYWdzKQorVGV4dFJ1biBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1
bihSZW5kZXJPYmplY3QqIGNvbnRleHQsIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBjb25zdCBT
dHJpbmcmIHN0cmluZywgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBFeHBhbnNpb25CZWhhdmlv
ciBleHBhbnNpb24sIFRleHRSdW5GbGFncyBmbGFncykKIHsKICAgICB1bnNpZ25lZCBsZW5ndGgg
PSBzdHJpbmcubGVuZ3RoKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgK
aW5kZXggNjk0MWE0Y2NmZDY3OGViYjQzMmViMDY5OTVjODVhM2RhMWU3ZGZhNS4uYTdmNGUyMjlk
ZDdlMmMxZmU1MDdmZjZjODhjYjJjOTNkNzU0OTMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmgKQEAgLTIwNSwyMiArMjA1LDIyIEBAIHB1YmxpYzoKICAgICB9CiAKICAg
ICBzdGF0aWMgVGV4dFJ1biBjb25zdHJ1Y3RUZXh0UnVuKFJlbmRlck9iamVjdCogY29udGV4dCwg
Y29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBSZW5kZXJTdHlsZSYsCi0g
ICAgICAgIFRleHRSdW46OkV4cGFuc2lvbkJlaGF2aW9yID0gVGV4dFJ1bjo6QWxsb3dUcmFpbGlu
Z0V4cGFuc2lvbiB8IFRleHRSdW46OkZvcmJpZExlYWRpbmdFeHBhbnNpb24sIFRleHRSdW5GbGFn
cyA9IERlZmF1bHRUZXh0UnVuRmxhZ3MpOworICAgICAgICBFeHBhbnNpb25CZWhhdmlvciA9IEFs
bG93VHJhaWxpbmdFeHBhbnNpb24gfCBGb3JiaWRMZWFkaW5nRXhwYW5zaW9uLCBUZXh0UnVuRmxh
Z3MgPSBEZWZhdWx0VGV4dFJ1bkZsYWdzKTsKIAogICAgIHN0YXRpYyBUZXh0UnVuIGNvbnN0cnVj
dFRleHRSdW4oUmVuZGVyT2JqZWN0KiBjb250ZXh0LCBjb25zdCBGb250Q2FzY2FkZSYsIGNvbnN0
IFJlbmRlclRleHQqLCBjb25zdCBSZW5kZXJTdHlsZSYsCi0gICAgICAgIFRleHRSdW46OkV4cGFu
c2lvbkJlaGF2aW9yID0gVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiB8IFRleHRSdW46
OkZvcmJpZExlYWRpbmdFeHBhbnNpb24pOworICAgICAgICBFeHBhbnNpb25CZWhhdmlvciA9IEFs
bG93VHJhaWxpbmdFeHBhbnNpb24gfCBGb3JiaWRMZWFkaW5nRXhwYW5zaW9uKTsKIAogICAgIHN0
YXRpYyBUZXh0UnVuIGNvbnN0cnVjdFRleHRSdW4oUmVuZGVyT2JqZWN0KiBjb250ZXh0LCBjb25z
dCBGb250Q2FzY2FkZSYsIGNvbnN0IFJlbmRlclRleHQqLCB1bnNpZ25lZCBvZmZzZXQsIHVuc2ln
bmVkIGxlbmd0aCwgY29uc3QgUmVuZGVyU3R5bGUmLAotICAgICAgICBUZXh0UnVuOjpFeHBhbnNp
b25CZWhhdmlvciA9IFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24gfCBUZXh0UnVuOjpG
b3JiaWRMZWFkaW5nRXhwYW5zaW9uKTsKKyAgICAgICAgRXhwYW5zaW9uQmVoYXZpb3IgPSBBbGxv
d1RyYWlsaW5nRXhwYW5zaW9uIHwgRm9yYmlkTGVhZGluZ0V4cGFuc2lvbik7CiAKICAgICBzdGF0
aWMgVGV4dFJ1biBjb25zdHJ1Y3RUZXh0UnVuKFJlbmRlck9iamVjdCogY29udGV4dCwgY29uc3Qg
Rm9udENhc2NhZGUmLCBjb25zdCBSZW5kZXJUZXh0KiwgdW5zaWduZWQgb2Zmc2V0LCBjb25zdCBS
ZW5kZXJTdHlsZSYsCi0gICAgICAgIFRleHRSdW46OkV4cGFuc2lvbkJlaGF2aW9yID0gVGV4dFJ1
bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiB8IFRleHRSdW46OkZvcmJpZExlYWRpbmdFeHBhbnNp
b24pOworICAgICAgICBFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24g
fCBGb3JiaWRMZWFkaW5nRXhwYW5zaW9uKTsKIAogICAgIHN0YXRpYyBUZXh0UnVuIGNvbnN0cnVj
dFRleHRSdW4oUmVuZGVyT2JqZWN0KiBjb250ZXh0LCBjb25zdCBGb250Q2FzY2FkZSYsIGNvbnN0
IExDaGFyKiBjaGFyYWN0ZXJzLCBpbnQgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHlsZSYsCi0gICAg
ICAgIFRleHRSdW46OkV4cGFuc2lvbkJlaGF2aW9yID0gVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4
cGFuc2lvbiB8IFRleHRSdW46OkZvcmJpZExlYWRpbmdFeHBhbnNpb24pOworICAgICAgICBFeHBh
bnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24gfCBGb3JiaWRMZWFkaW5nRXhw
YW5zaW9uKTsKIAogICAgIHN0YXRpYyBUZXh0UnVuIGNvbnN0cnVjdFRleHRSdW4oUmVuZGVyT2Jq
ZWN0KiBjb250ZXh0LCBjb25zdCBGb250Q2FzY2FkZSYsIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJz
LCBpbnQgbGVuZ3RoLCBjb25zdCBSZW5kZXJTdHlsZSYsCi0gICAgICAgIFRleHRSdW46OkV4cGFu
c2lvbkJlaGF2aW9yID0gVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiB8IFRleHRSdW46
OkZvcmJpZExlYWRpbmdFeHBhbnNpb24pOworICAgICAgICBFeHBhbnNpb25CZWhhdmlvciA9IEFs
bG93VHJhaWxpbmdFeHBhbnNpb24gfCBGb3JiaWRMZWFkaW5nRXhwYW5zaW9uKTsKICAgICAKICAg
ICBMYXlvdXRVbml0IHBhZ2luYXRpb25TdHJ1dCgpIGNvbnN0OwogICAgIHZvaWQgc2V0UGFnaW5h
dGlvblN0cnV0KExheW91dFVuaXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKaW5kZXggY2JiMWE3Mzg1YmVmNmUwYmVmNjVm
ZWNkMDk5MGQ4N2NlYzQ0YzU1Ni4uZDdiNzVkOGVhNTU5ZjgzNGU0ZTA0ZTliZWQ3NTM5Yzg5MzRj
MzQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxv
YWRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2wuY3BwCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBv
aW4KICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VGb3JlZ3JvdW5kKSB7CiAg
ICAgICAgIGNvbnN0IFN0cmluZyYgZGlzcGxheWVkRmlsZW5hbWUgPSBmaWxlVGV4dFZhbHVlKCk7
CiAgICAgICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250ID0gc3R5bGUoKS5mb250Q2FzY2FkZSgp
OwotICAgICAgICBUZXh0UnVuIHRleHRSdW4gPSBjb25zdHJ1Y3RUZXh0UnVuKHRoaXMsIGZvbnQs
IGRpc3BsYXllZEZpbGVuYW1lLCBzdHlsZSgpLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5z
aW9uLCBSZXNwZWN0RGlyZWN0aW9uIHwgUmVzcGVjdERpcmVjdGlvbk92ZXJyaWRlKTsKKyAgICAg
ICAgVGV4dFJ1biB0ZXh0UnVuID0gY29uc3RydWN0VGV4dFJ1bih0aGlzLCBmb250LCBkaXNwbGF5
ZWRGaWxlbmFtZSwgc3R5bGUoKSwgQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgUmVzcGVjdERpcmVj
dGlvbiB8IFJlc3BlY3REaXJlY3Rpb25PdmVycmlkZSk7CiAgICAgICAgIHRleHRSdW4uZGlzYWJs
ZVJvdW5kaW5nSGFja3MoKTsKIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTIwNCwxMCArMjA0LDEw
IEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2Fs
V2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljCiAgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnQg
PSBzdHlsZSgpLmZvbnRDYXNjYWRlKCk7CiAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGUgbmVlZCBm
b3IgdGhpcyBjb25zdF9jYXN0IGJ5IG1ha2luZyBjb25zdHJ1Y3RUZXh0UnVuIHRha2UgYSBjb25z
dCBSZW5kZXJPYmplY3QqLgogICAgIFJlbmRlckZpbGVVcGxvYWRDb250cm9sKiByZW5kZXJlciA9
IGNvbnN0X2Nhc3Q8UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wqPih0aGlzKTsKLSAgICBmbG9hdCBt
aW5EZWZhdWx0TGFiZWxXaWR0aCA9IGRlZmF1bHRXaWR0aE51bUNoYXJzICogZm9udC53aWR0aChj
b25zdHJ1Y3RUZXh0UnVuKHJlbmRlcmVyLCBmb250LCBjaGFyYWN0ZXJBc1N0cmluZywgc3R5bGUo
KSwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbikpOworICAgIGZsb2F0IG1pbkRlZmF1
bHRMYWJlbFdpZHRoID0gZGVmYXVsdFdpZHRoTnVtQ2hhcnMgKiBmb250LndpZHRoKGNvbnN0cnVj
dFRleHRSdW4ocmVuZGVyZXIsIGZvbnQsIGNoYXJhY3RlckFzU3RyaW5nLCBzdHlsZSgpLCBBbGxv
d1RyYWlsaW5nRXhwYW5zaW9uKSk7CiAKICAgICBjb25zdCBTdHJpbmcgbGFiZWwgPSB0aGVtZSgp
LmZpbGVMaXN0RGVmYXVsdExhYmVsKGlucHV0RWxlbWVudCgpLm11bHRpcGxlKCkpOwotICAgIGZs
b2F0IGRlZmF1bHRMYWJlbFdpZHRoID0gZm9udC53aWR0aChjb25zdHJ1Y3RUZXh0UnVuKHJlbmRl
cmVyLCBmb250LCBsYWJlbCwgc3R5bGUoKSwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lv
bikpOworICAgIGZsb2F0IGRlZmF1bHRMYWJlbFdpZHRoID0gZm9udC53aWR0aChjb25zdHJ1Y3RU
ZXh0UnVuKHJlbmRlcmVyLCBmb250LCBsYWJlbCwgc3R5bGUoKSwgQWxsb3dUcmFpbGluZ0V4cGFu
c2lvbikpOwogICAgIGlmIChIVE1MSW5wdXRFbGVtZW50KiBidXR0b24gPSB1cGxvYWRCdXR0b24o
KSkKICAgICAgICAgaWYgKFJlbmRlck9iamVjdCogYnV0dG9uUmVuZGVyZXIgPSBidXR0b24tPnJl
bmRlcmVyKCkpCiAgICAgICAgICAgICBkZWZhdWx0TGFiZWxXaWR0aCArPSBidXR0b25SZW5kZXJl
ci0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBhZnRlckJ1dHRvblNwYWNpbmc7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKaW5kZXggN2UzODdiZDlmYTll
ZGMyNWFhM2QzZTQwYjFhMDk1YTllZjU5MGIxMy4uYzA5ZjdiMDFmZTU5ZDU1ZjE5ZmE4Mjk0MTJh
YzMwMjczMmEwZWUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94
LmNwcApAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVs
ZW1lbnQoKQogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkgewogICAgICAgICAgICAg
ICAgIGFwcGx5VGV4dFRyYW5zZm9ybShzdHlsZSgpLCB0ZXh0LCAnICcpOwogICAgICAgICAgICAg
ICAgIC8vIEZJWE1FOiBXaHkgaXMgdGhpcyBhbHdheXMgTFRSPyBDYW4ndCB0ZXh0IGRpcmVjdGlv
biBhZmZlY3QgdGhlIHdpZHRoPwotICAgICAgICAgICAgICAgIFRleHRSdW4gdGV4dFJ1biA9IGNv
bnN0cnVjdFRleHRSdW4odGhpcywgaXRlbUZvbnQsIHRleHQsIHN0eWxlKCksIFRleHRSdW46OkFs
bG93VHJhaWxpbmdFeHBhbnNpb24pOworICAgICAgICAgICAgICAgIFRleHRSdW4gdGV4dFJ1biA9
IGNvbnN0cnVjdFRleHRSdW4odGhpcywgaXRlbUZvbnQsIHRleHQsIHN0eWxlKCksIEFsbG93VHJh
aWxpbmdFeHBhbnNpb24pOwogICAgICAgICAgICAgICAgIHRleHRSdW4uZGlzYWJsZVJvdW5kaW5n
SGFja3MoKTsKICAgICAgICAgICAgICAgICBmbG9hdCB0ZXh0V2lkdGggPSBpdGVtRm9udC53aWR0
aCh0ZXh0UnVuKTsKICAgICAgICAgICAgICAgICB3aWR0aCA9IHN0ZDo6bWF4KHdpZHRoLCB0ZXh0
V2lkdGgpOwpAQCAtMzk5LDcgKzM5OSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6cGFpbnRJdGVt
Rm9yZWdyb3VuZChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmCiAgICAg
Q29sb3JTcGFjZSBjb2xvclNwYWNlID0gaXRlbVN0eWxlLT5jb2xvclNwYWNlKCk7CiAgICAgcGFp
bnRJbmZvLmNvbnRleHQtPnNldEZpbGxDb2xvcih0ZXh0Q29sb3IsIGNvbG9yU3BhY2UpOwogCi0g
ICAgVGV4dFJ1biB0ZXh0UnVuKGl0ZW1UZXh0LCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5n
RXhwYW5zaW9uLCBpdGVtU3R5bGUtPmRpcmVjdGlvbigpLCBpc092ZXJyaWRlKGl0ZW1TdHlsZS0+
dW5pY29kZUJpZGkoKSksIHRydWUsIFRleHRSdW46Ok5vUm91bmRpbmcpOworICAgIFRleHRSdW4g
dGV4dFJ1bihpdGVtVGV4dCwgMCwgMCwgQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgaXRlbVN0eWxl
LT5kaXJlY3Rpb24oKSwgaXNPdmVycmlkZShpdGVtU3R5bGUtPnVuaWNvZGVCaWRpKCkpLCB0cnVl
LCBUZXh0UnVuOjpOb1JvdW5kaW5nKTsKICAgICBGb250Q2FzY2FkZSBpdGVtRm9udCA9IHN0eWxl
KCkuZm9udENhc2NhZGUoKTsKICAgICBMYXlvdXRSZWN0IHIgPSBpdGVtQm91bmRpbmdCb3hSZWN0
KHBhaW50T2Zmc2V0LCBsaXN0SW5kZXgpOwogICAgIHIubW92ZShpdGVtT2Zmc2V0Rm9yQWxpZ25t
ZW50KHRleHRSdW4sIGl0ZW1TdHlsZSwgaXRlbUZvbnQsIHIpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAppbmRleCBhZDQyZTgyNTc5ODA0NTYzNWYy
MzZhNjBkNDEwMTlhMjI5Y2FiMTYxLi4zNzVhNzE3OGIxNmU3MjVmMDcwM2MyNWY4NzMwNTY3OGYx
MWE3Y2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1h
cmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIu
Y3BwCkBAIC0xNTQyLDcgKzE1NDIsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IEFzdGVyaXNrczoKICAgICAgICAgY2FzZSBGb290bm90ZXM6IHsKLSAgICAgICAgICAgIFRleHRS
dW4gcnVuID0gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4odGhpcywgZm9udCwgbV90ZXh0
LCBzdHlsZSgpLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uIHwgVGV4dFJ1bjo6Rm9y
YmlkTGVhZGluZ0V4cGFuc2lvbiwgRGVmYXVsdFRleHRSdW5GbGFncyk7CisgICAgICAgICAgICBU
ZXh0UnVuIHJ1biA9IFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKHRoaXMsIGZvbnQsIG1f
dGV4dCwgc3R5bGUoKSwgQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiB8IEZvcmJpZExlYWRpbmdFeHBh
bnNpb24sIERlZmF1bHRUZXh0UnVuRmxhZ3MpOwogICAgICAgICAgICAgbG9naWNhbFdpZHRoID0g
Zm9udC53aWR0aChydW4pOyAvLyBubyBzdWZmaXggZm9yIHRoZXNlIHR5cGVzCiAgICAgICAgIH0K
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTYyOSw3ICsxNjI5LDcgQEAgdm9pZCBSZW5kZXJMaXN0
TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiAgICAgICAgICAgICBpZiAo
bV90ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBsb2dpY2FsV2lkdGggPSAwOwogICAg
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9j
azo6Y29uc3RydWN0VGV4dFJ1bih0aGlzLCBmb250LCBtX3RleHQsIHN0eWxlKCksIFRleHRSdW46
OkFsbG93VHJhaWxpbmdFeHBhbnNpb24gfCBUZXh0UnVuOjpGb3JiaWRMZWFkaW5nRXhwYW5zaW9u
LCBEZWZhdWx0VGV4dFJ1bkZsYWdzKTsKKyAgICAgICAgICAgICAgICBUZXh0UnVuIHJ1biA9IFJl
bmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKHRoaXMsIGZvbnQsIG1fdGV4dCwgc3R5bGUoKSwg
QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiB8IEZvcmJpZExlYWRpbmdFeHBhbnNpb24sIERlZmF1bHRU
ZXh0UnVuRmxhZ3MpOwogICAgICAgICAgICAgICAgIExheW91dFVuaXQgaXRlbVdpZHRoID0gZm9u
dC53aWR0aChydW4pOwogICAgICAgICAgICAgICAgIFVDaGFyIHN1ZmZpeFNwYWNlWzJdID0geyBs
aXN0TWFya2VyU3VmZml4KHR5cGUsIG1fbGlzdEl0ZW0udmFsdWUoKSksICcgJyB9OwogICAgICAg
ICAgICAgICAgIExheW91dFVuaXQgc3VmZml4U3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoUmVuZGVy
QmxvY2s6OmNvbnN0cnVjdFRleHRSdW4odGhpcywgZm9udCwgc3VmZml4U3BhY2UsIDIsIHN0eWxl
KCkpKTsKQEAgLTE3NjIsNyArMTc2Miw3IEBAIEZsb2F0UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpn
ZXRSZWxhdGl2ZU1hcmtlclJlY3QoKQogICAgICAgICBjYXNlIEFzdGVyaXNrczoKICAgICAgICAg
Y2FzZSBGb290bm90ZXM6IHsKICAgICAgICAgICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250ID0g
c3R5bGUoKS5mb250Q2FzY2FkZSgpOwotICAgICAgICAgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJC
bG9jazo6Y29uc3RydWN0VGV4dFJ1bih0aGlzLCBmb250LCBtX3RleHQsIHN0eWxlKCksIFRleHRS
dW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24gfCBUZXh0UnVuOjpGb3JiaWRMZWFkaW5nRXhwYW5z
aW9uLCBEZWZhdWx0VGV4dFJ1bkZsYWdzKTsKKyAgICAgICAgICAgIFRleHRSdW4gcnVuID0gUmVu
ZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4odGhpcywgZm9udCwgbV90ZXh0LCBzdHlsZSgpLCBB
bGxvd1RyYWlsaW5nRXhwYW5zaW9uIHwgRm9yYmlkTGVhZGluZ0V4cGFuc2lvbiwgRGVmYXVsdFRl
eHRSdW5GbGFncyk7CiAgICAgICAgICAgICByZWxhdGl2ZVJlY3QgPSBGbG9hdFJlY3QoMCwgMCwg
Zm9udC53aWR0aChydW4pLCBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTE4NTYsNyArMTg1Niw3IEBAIEZsb2F0UmVjdCBSZW5k
ZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcmtlclJlY3QoKQogICAgICAgICAgICAgaWYgKG1f
dGV4dC5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwogICAg
ICAgICAgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnQgPSBzdHlsZSgpLmZvbnRDYXNjYWRlKCk7
Ci0gICAgICAgICAgICBUZXh0UnVuIHJ1biA9IFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVu
KHRoaXMsIGZvbnQsIG1fdGV4dCwgc3R5bGUoKSwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFu
c2lvbiB8IFRleHRSdW46OkZvcmJpZExlYWRpbmdFeHBhbnNpb24sIERlZmF1bHRUZXh0UnVuRmxh
Z3MpOworICAgICAgICAgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4
dFJ1bih0aGlzLCBmb250LCBtX3RleHQsIHN0eWxlKCksIEFsbG93VHJhaWxpbmdFeHBhbnNpb24g
fCBGb3JiaWRMZWFkaW5nRXhwYW5zaW9uLCBEZWZhdWx0VGV4dFJ1bkZsYWdzKTsKICAgICAgICAg
ICAgIGZsb2F0IGl0ZW1XaWR0aCA9IGZvbnQud2lkdGgocnVuKTsKICAgICAgICAgICAgIFVDaGFy
IHN1ZmZpeFNwYWNlWzJdID0geyBsaXN0TWFya2VyU3VmZml4KHR5cGUsIG1fbGlzdEl0ZW0udmFs
dWUoKSksICcgJyB9OwogICAgICAgICAgICAgZmxvYXQgc3VmZml4U3BhY2VXaWR0aCA9IGZvbnQu
d2lkdGgoUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4odGhpcywgZm9udCwgc3VmZml4U3Bh
Y2UsIDIsIHN0eWxlKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxp
c3QuY3BwCmluZGV4IDQ1Zjg2MGMxMjYyZGIzNTFiMzc3N2YwYzZmNDI5NTNlOWUzNmE0N2EuLmRk
YmYwNTA0ZGIwNTg3NTA2ZTU3YTM1ODYzOTM2M2I1OTYxYjlhOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMjIzLDEzICsyMjMsMTMgQEAgdm9p
ZCBSZW5kZXJNZW51TGlzdDo6dXBkYXRlT3B0aW9uc1dpZHRoKCkKICAgICAgICAgICAgICAgICBv
cHRpb25XaWR0aCArPSBtaW5pbXVtVmFsdWVGb3JMZW5ndGgob3B0aW9uU3R5bGUtPnRleHRJbmRl
bnQoKSwgMCk7CiAgICAgICAgICAgICBpZiAoIXRleHQuaXNFbXB0eSgpKSB7CiAgICAgICAgICAg
ICAgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnQgPSBzdHlsZSgpLmZvbnRDYXNjYWRlKCk7Ci0g
ICAgICAgICAgICAgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1
bih0aGlzLCBmb250LCB0ZXh0LCBzdHlsZSgpLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5z
aW9uIHwgVGV4dFJ1bjo6Rm9yYmlkTGVhZGluZ0V4cGFuc2lvbiwgRGVmYXVsdFRleHRSdW5GbGFn
cyk7CisgICAgICAgICAgICAgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9jazo6Y29uc3RydWN0
VGV4dFJ1bih0aGlzLCBmb250LCB0ZXh0LCBzdHlsZSgpLCBBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
IHwgRm9yYmlkTGVhZGluZ0V4cGFuc2lvbiwgRGVmYXVsdFRleHRSdW5GbGFncyk7CiAgICAgICAg
ICAgICAgICAgb3B0aW9uV2lkdGggKz0gZm9udC53aWR0aChydW4pOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgbWF4T3B0aW9uV2lkdGggPSBzdGQ6Om1heChtYXhPcHRpb25XaWR0aCwgb3B0
aW9uV2lkdGgpOwogICAgICAgICB9IGVsc2UgaWYgKCF0ZXh0LmlzRW1wdHkoKSkgewogICAgICAg
ICAgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnQgPSBzdHlsZSgpLmZvbnRDYXNjYWRlKCk7Ci0g
ICAgICAgICAgICBUZXh0UnVuIHJ1biA9IFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKHRo
aXMsIGZvbnQsIHRleHQsIHN0eWxlKCksIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24g
fCBUZXh0UnVuOjpGb3JiaWRMZWFkaW5nRXhwYW5zaW9uLCBEZWZhdWx0VGV4dFJ1bkZsYWdzKTsK
KyAgICAgICAgICAgIFRleHRSdW4gcnVuID0gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4o
dGhpcywgZm9udCwgdGV4dCwgc3R5bGUoKSwgQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiB8IEZvcmJp
ZExlYWRpbmdFeHBhbnNpb24sIERlZmF1bHRUZXh0UnVuRmxhZ3MpOwogICAgICAgICAgICAgbWF4
T3B0aW9uV2lkdGggPSBzdGQ6Om1heChtYXhPcHRpb25XaWR0aCwgZm9udC53aWR0aChydW4pKTsK
ICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuY3BwCmluZGV4IGM5MzRmNmVmYzNmYzQ2NWE2MGM2YTg0NWM1N2Q0ODY0ZmMzYzBh
NWEuLjVkNzhlYjNkOTkwYTY1YWNiMWUwNmYxNzk1M2NiZjk1NzU1ZWRmYTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcApAQCAtMTgwLDcgKzE4
MCw3IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpnZXRBdmVyYWdlQ2hhcldpZHRoKCkKICAg
ICBjb25zdCBVQ2hhciBjaCA9ICcwJzsKICAgICBjb25zdCBTdHJpbmcgc3RyID0gU3RyaW5nKCZj
aCwgMSk7CiAgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnQgPSBzdHlsZSgpLmZvbnRDYXNjYWRl
KCk7Ci0gICAgVGV4dFJ1biB0ZXh0UnVuID0gY29uc3RydWN0VGV4dFJ1bih0aGlzLCBmb250LCBz
dHIsIHN0eWxlKCksIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24pOworICAgIFRleHRS
dW4gdGV4dFJ1biA9IGNvbnN0cnVjdFRleHRSdW4odGhpcywgZm9udCwgc3RyLCBzdHlsZSgpLCBB
bGxvd1RyYWlsaW5nRXhwYW5zaW9uKTsKICAgICB0ZXh0UnVuLmRpc2FibGVSb3VuZGluZ0hhY2tz
KCk7CiAgICAgcmV0dXJuIGZvbnQud2lkdGgodGV4dFJ1bik7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXggMGVlOTJlZDMxOTU0YjM5ZjkzNzcwYjA5
MzIzNzc3MmFhMDRiZDdiOS4uNjkyOGEzYTMxMmUwZmVhYWUwZDZjYzNiZDU1ODNjNjM3YjhkNDc2
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpAQCAtNTUz
LDcgKzU1Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCBmbG9hdCBtZWFzdXJlVGV4
dChjb25zdCBTdHJpbmcmIHN0cmluZykgY29uc3Qgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIFRl
eHRSdW4gcnVuID0gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4oJm1fcmVuZGVyT2JqZWN0
LCBtX2ZvbnQsIHN0cmluZywgbV9zdHlsZSwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lv
biB8IFRleHRSdW46OkZvcmJpZExlYWRpbmdFeHBhbnNpb24sIERlZmF1bHRUZXh0UnVuRmxhZ3Mp
OworICAgICAgICBUZXh0UnVuIHJ1biA9IFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKCZt
X3JlbmRlck9iamVjdCwgbV9mb250LCBzdHJpbmcsIG1fc3R5bGUsIEFsbG93VHJhaWxpbmdFeHBh
bnNpb24gfCBGb3JiaWRMZWFkaW5nRXhwYW5zaW9uLCBEZWZhdWx0VGV4dFJ1bkZsYWdzKTsKICAg
ICAgICAgcmV0dXJuIG1fZm9udC53aWR0aChydW4pOwogICAgIH0KIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDY4NmEwMWE1NjRm
YmE4YzYyZDNjOGRlZDU4ZjZkMzg4OGFmZjJhOWUuLmQ2MTMzYjA1MDQxYjJlN2E3NmZiYmNjZjkw
ZmFkNmQ0ZjBlYTc5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCkBAIC02NSw3ICs2NSw3IEBACiAjaW5jbHVkZSAiU3R5bGVTdXJyb3VuZERhdGEu
aCIKICNpbmNsdWRlICJTdHlsZVRyYW5zZm9ybURhdGEuaCIKICNpbmNsdWRlICJTdHlsZVZpc3Vh
bERhdGEuaCIKLSNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCisjaW5jbHVkZSAiVGV4dEhlbHBl
cnMuaCIKICNpbmNsdWRlICJUaGVtZVR5cGVzLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtT3BlcmF0
aW9ucy5oIgogI2luY2x1ZGUgIlVuaWNvZGVCaWRpLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAppbmRleCBlOTFmYmI5NzhkZDdmNGNk
MzhiY2E2MmU0NjkyYWM4OWEwZTRlOWFmLi4xNGIxNDY0ZWNlYTIxYTM2Y2IwMGMyOWNkYmY1Yjlj
YjljMzcxNmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lu
bGluZVRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5s
aW5lVGV4dEJveC5jcHAKQEAgLTQxNSw3ICs0MTUsNyBAQCBUZXh0UnVuIFNWR0lubGluZVRleHRC
b3g6OmNvbnN0cnVjdFRleHRSdW4oUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBTVkdUZXh0RnJh
ZwogICAgIFRleHRSdW4gcnVuKFN0cmluZ1ZpZXcocmVuZGVyZXIoKS50ZXh0KCkpLnN1YnN0cmlu
ZyhmcmFnbWVudC5jaGFyYWN0ZXJPZmZzZXQsIGZyYWdtZW50Lmxlbmd0aCkKICAgICAgICAgICAg
ICAgICAsIDAgLyogeFBvcywgb25seSByZWxldmFudCB3aXRoIGFsbG93VGFicz10cnVlICovCiAg
ICAgICAgICAgICAgICAgLCAwIC8qIHBhZGRpbmcsIG9ubHkgcmVsZXZhbnQgZm9yIGp1c3RpZmll
ZCB0ZXh0LCBub3QgcmVsZXZhbnQgZm9yIFNWRyAqLwotICAgICAgICAgICAgICAgICwgVGV4dFJ1
bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbgorICAgICAgICAgICAgICAgICwgQWxsb3dUcmFpbGlu
Z0V4cGFuc2lvbgogICAgICAgICAgICAgICAgICwgZGlyZWN0aW9uKCkKICAgICAgICAgICAgICAg
ICAsIGRpck92ZXJyaWRlKCkgfHwgc3R5bGUtPnJ0bE9yZGVyaW5nKCkgPT0gVmlzdWFsT3JkZXIg
LyogZGlyZWN0aW9uYWxPdmVycmlkZSAqLyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAKaW5kZXggMTlhMjZmYmY0NjExMDE1NTNiYTYwNzNm
YmNlYjM1YWM3OGUzNjM3MS4uMjdkNGU0ODU5NTc5OTQ0NDQ5N2Q3YjhmMzhlY2YzMWVkMjYzYzY1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmlj
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5j
cHAKQEAgLTY2LDcgKzY2LDcgQEAgVGV4dFJ1biBTVkdUZXh0TWV0cmljczo6Y29uc3RydWN0VGV4
dFJ1bihSZW5kZXJTVkdJbmxpbmVUZXh0JiB0ZXh0LCB1bnNpZ25lZCBwb3MKICAgICBUZXh0UnVu
IHJ1bihTdHJpbmdWaWV3KHRleHQudGV4dCgpKS5zdWJzdHJpbmcocG9zaXRpb24sIGxlbmd0aCkK
ICAgICAgICAgICAgICAgICAsIDAgLyogeFBvcywgb25seSByZWxldmFudCB3aXRoIGFsbG93VGFi
cz10cnVlICovCiAgICAgICAgICAgICAgICAgLCAwIC8qIHBhZGRpbmcsIG9ubHkgcmVsZXZhbnQg
Zm9yIGp1c3RpZmllZCB0ZXh0LCBub3QgcmVsZXZhbnQgZm9yIFNWRyAqLwotICAgICAgICAgICAg
ICAgICwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbgorICAgICAgICAgICAgICAgICwg
QWxsb3dUcmFpbGluZ0V4cGFuc2lvbgogICAgICAgICAgICAgICAgICwgc3R5bGUuZGlyZWN0aW9u
KCkKICAgICAgICAgICAgICAgICAsIGlzT3ZlcnJpZGUoc3R5bGUudW5pY29kZUJpZGkoKSkgLyog
ZGlyZWN0aW9uYWxPdmVycmlkZSAqLyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvaW9z
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lSU9TLm1tIGIvU291cmNlL1dlYktpdC9pb3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVJT1MubW0KaW5kZXggZTRmNDgzYzI0NDZlMzc5MTk4NjUwYTA2Yjg2
ZDk1ZWRmNjZlOTE1NC4uMTAzZjNhZmIxNDZiOTU4MjcxYTE2ZTBmOTQ1ZTBlYWJlMGVjNjM1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVJT1MubW0K
QEAgLTQ1LDcgKzQ1LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyZWREb2N1bWVudE1hcmtl
ci5oPgogI2ltcG9ydCA8V2ViQ29yZS9TZWxlY3Rpb25SZWN0Lmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1RleHRCb3VuZGFyaWVzLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1RleHREaXJlY3Rpb24uaD4KKyNp
bXBvcnQgPFdlYkNvcmUvVGV4dEhlbHBlcnMuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmlzaWJsZVBv
c2l0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Zpc2libGVVbml0cy5oPgogI2ltcG9ydCA8V2Vi
S2l0TGVnYWN5L0RPTS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9pb3MvV2ViQ29yZVN1
cHBvcnQvV2ViVmlzaWJsZVBvc2l0aW9uLm1tIGIvU291cmNlL1dlYktpdC9pb3MvV2ViQ29yZVN1
cHBvcnQvV2ViVmlzaWJsZVBvc2l0aW9uLm1tCmluZGV4IGNlYzgxYTExYjNmM2YyMmRhNTUwNjEz
Mjg1ODE2NzIyYzdiMjdjY2EuLjI3ZmVjZWM3YjQzYjEyNmRkN2Y1ZmI1ODhhMWJjNmIxZjg2Yjc5
NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYlZpc2li
bGVQb3NpdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJW
aXNpYmxlUG9zaXRpb24ubW0KQEAgLTM3LDggKzM3LDggQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVu
ZGVyVGV4dENvbnRyb2wuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyZWREb2N1bWVudE1hcmtl
ci5oPgogI2ltcG9ydCA8V2ViQ29yZS9UZXh0Qm91bmRhcmllcy5oPgotI2ltcG9ydCA8V2ViQ29y
ZS9UZXh0RGlyZWN0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RleHRHcmFudWxhcml0eS5oPgor
I2ltcG9ydCA8V2ViQ29yZS9UZXh0SGVscGVycy5oPgogI2ltcG9ydCA8V2ViQ29yZS9UZXh0SXRl
cmF0b3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmlzaWJsZVBvc2l0aW9uLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1Zpc2libGVVbml0cy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlBvcHVwSXRlbS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oCmlu
ZGV4IDU4YzI3NjYzMDBjMGZjYTNkMjM5MTkxOTA3ZTg5ZGQyMjNhODg5NTQuLjc3ZWI5MTk1YTll
ZjU4ZDgzMmUyNmI1ZjZkMjg0NmMyOTc3MzcyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQb3B1cEl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9w
dXBJdGVtLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgV2ViUG9wdXBJdGVtX2gKICNkZWZp
bmUgV2ViUG9wdXBJdGVtX2gKIAotI2luY2x1ZGUgPFdlYkNvcmUvVGV4dERpcmVjdGlvbi5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvVGV4dEhlbHBlcnMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIElQQyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJQ2FzdEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL2VmbC9XS0FQSUNhc3RFZmwuaAppbmRleCAwMzI4YmMxNDg5YmIxYmQwODE0OTVm
Yzg1MWJmMDZlZjRjMWQ5OWUwLi43MGIyZTlhNGFmMWZkZTFiMTBmZjYzZWEzOTVhNWRiYjA4YTIy
NWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLQVBJ
Q2FzdEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tBUElD
YXN0RWZsLmgKQEAgLTI0LDcgKzI0LDcgQEAKICNlcnJvciAiUGxlYXNlICNpbmNsdWRlIFwiV0tB
UElDYXN0LmhcIiBpbnN0ZWFkIG9mIHRoaXMgZmlsZSBkaXJlY3RseS4iCiAjZW5kaWYKIAotI2lu
Y2x1ZGUgPFdlYkNvcmUvVGV4dERpcmVjdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVGV4dEhl
bHBlcnMuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tQb3B1cEl0ZW0uaD4KIAogI2lmIEVOQUJMRShU
T1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgK
aW5kZXggNDE0ZWFiZjY3YWUzY2ZhMzZmMTU0M2I2ZmMxZWM3YmM3OGQxMGQ4NC4uZjkzNmE4ZTJi
MTFiYTA5ZGQ0ZjdmZTJmY2ViNDcyYmJlY2MxN2M4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIldLUmV0
YWluUHRyLmgiCiAjaW5jbHVkZSAiV2ViVmlld0VmbC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVm
UHRyQ2Fpcm8uaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1RleHREaXJlY3Rpb24uaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1RleHRIZWxwZXJzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgogI2lu
Y2x1ZGUgPFdlYktpdC9XS0Jhc2UuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UG9wdXBNZW51UHJveHkuaAppbmRleCA4OTJmYThlY2U0ZjM2ZTY3YjIxYWY2ZTg5OGI1YWFjZjJm
MGRjZGVjLi43N2Y0N2Q4MDU0N2U5ZjA5NmJiOTAxOTI4MGM0ZTYyYzYyY2YzMmZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaApAQCAtMjYsNyArMjYs
NyBAQAogI2lmbmRlZiBXZWJQb3B1cE1lbnVQcm94eV9oCiAjZGVmaW5lIFdlYlBvcHVwTWVudVBy
b3h5X2gKIAotI2luY2x1ZGUgPFdlYkNvcmUvVGV4dERpcmVjdGlvbi5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvVGV4dEhlbHBlcnMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJVSVBvcHVwTWVudUNsaWVudC5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJVSVBvcHVwTWVudUNsaWVudC5oCmluZGV4
IGY4ZTRiM2YwMDU1N2VmMjZhMTBjZmNhNjJlYzdlZDBmMWY4M2E2YWIuLmZlNDViYzZiZDdkNWYw
MmU3NDY4MDA5Y2FhYjY0MDA0MDliZWFjZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvV2ViVUlQb3B1cE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1dlYlVJUG9wdXBNZW51Q2xpZW50LmgKQEAgLTMxLDcgKzMxLDcgQEAKICNp
bmNsdWRlICJXS1BhZ2VFZmwuaCIKICNpbmNsdWRlICJXZWJQb3B1cEl0ZW0uaCIKICNpbmNsdWRl
IDxXZWJDb3JlL0ludFJlY3QuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1RleHREaXJlY3Rpb24uaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1RleHRIZWxwZXJzLmg+CiAKIG5hbWVzcGFjZSBBUEkgewogdGVt
cGxhdGU8PiBzdHJ1Y3QgQ2xpZW50VHJhaXRzPFdLUGFnZVVJUG9wdXBNZW51Q2xpZW50QmFzZT4g
ewo=
</data>
<flag name="review"
          id="274682"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>