<?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>71813</bug_id>
          
          <creation_ts>2011-11-08 07:11:08 -0800</creation_ts>
          <short_desc>CSSValue: Devirtualize cssText().</short_desc>
          <delta_ts>2011-11-08 09:45:55 -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>CSS</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>71666</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>macpherson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>498029</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-11-08 07:11:08 -0800</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498033</commentid>
    <comment_count>1</comment_count>
      <attachid>114059</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-11-08 07:21:50 -0800</bug_when>
    <thetext>Created attachment 114059
Patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498035</commentid>
    <comment_count>2</comment_count>
      <attachid>114059</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-11-08 07:25:59 -0800</bug_when>
    <thetext>Comment on attachment 114059
Patch!

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498037</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-08 07:27:47 -0800</bug_when>
    <thetext>Attachment 114059 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/css/CSSValue.cpp:32:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/css/CSSValue.cpp:51:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/css/CSSValue.cpp:54:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 3 in 53 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>498038</commentid>
    <comment_count>4</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-11-08 07:30:20 -0800</bug_when>
    <thetext>Committed r99567: &lt;http://trac.webkit.org/changeset/99567&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498157</commentid>
    <comment_count>5</comment_count>
      <attachid>114059</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-11-08 09:45:55 -0800</bug_when>
    <thetext>Comment on attachment 114059
Patch!

Should be customCSSText not customCssText, with our WebKit naming style.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114059</attachid>
            <date>2011-11-08 07:21:50 -0800</date>
            <delta_ts>2011-11-08 09:45:55 -0800</delta_ts>
            <desc>Patch!</desc>
            <filename>bug-71813.diff</filename>
            <type>text/plain</type>
            <size>36454</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNTI2NGI4Li4yMDRhODhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTAy
IEBACiAyMDExLTExLTA4ICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAorICAg
ICAgICBDU1NWYWx1ZTogRGV2aXJ0dWFsaXplIGNzc1RleHQoKS4KKyAgICAgICAgPGh0dHA6Ly93
ZWJraXQub3JnL2IvNzE4MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVuYW1lIGFsbCBzdWJjbGFzcyBpbXBsZW1lbnRhdGlvbnMgdG8gY3VzdG9t
Q3NzVGV4dCgpIGFuZCBhZGQKKyAgICAgICAgYSBDU1NWYWx1ZTo6Y3NzVGV4dCgpIHRoYXQgZGVm
ZXJzIHRvIHRoZSBhcHByb3ByaWF0ZSBzdWJjbGFzcworICAgICAgICBiYXNlZCBvbiB0aGUgdHlw
ZSBpbmZvLgorCisgICAgICAgIFRoZSByZW5hbWUgaXMgYm90aCBmb3IgY2xhcml0eSwgYW5kIHRv
IGVuc3VyZSB0aGF0IGNhbGxpbmcKKyAgICAgICAgY3NzVGV4dCgpIHdpbGwgYWx3YXlzIGVuZCB1
cCBpbiB0aGUgY29ycmVjdCBtZXRob2QuCisKKyAgICAgICAgKiBjc3MvQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NBc3BlY3RSYXRpb1ZhbHVlOjpjdXN0b21D
c3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oOgorICAgICAgICAq
IGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlLmg6CisgICAgICAgICogY3NzL0NTU0JvcmRlckltYWdlVmFs
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQm9yZGVySW1hZ2VWYWx1ZTo6Y3VzdG9tQ3Nz
VGV4dCk6CisgICAgICAgICogY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaDoKKyAgICAgICAgKiBj
c3MvQ1NTQ2FudmFzVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FudmFzVmFsdWU6
OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NDYW52YXNWYWx1ZS5oOgorICAgICAg
ICAqIGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDcm9z
c2ZhZGVWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU0Nyb3NzZmFkZVZh
bHVlLmg6CisgICAgICAgICogY3NzL0NTU0ZsZXhWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NGbGV4VmFsdWU6OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NGbGV4VmFs
dWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NGb250RmFjZVNyY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAgICAgKiBj
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5oOgorICAgICAgICAqIGNzcy9DU1NGdW5jdGlvblZhbHVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Z1bmN0aW9uVmFsdWU6OmN1c3RvbUNzc1RleHQp
OgorICAgICAgICAqIGNzcy9DU1NGdW5jdGlvblZhbHVlLmg6CisgICAgICAgICogY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTGluZWFyR3JhZGllbnRWYWx1
ZTo6Y3VzdG9tQ3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSYWRpYWxHcmFkaWVudFZh
bHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTR3JhZGllbnRWYWx1ZS5oOgor
ICAgICAgICAqIGNzcy9DU1NJbmhlcml0ZWRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbmhlcml0ZWRWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU0luaGVy
aXRlZFZhbHVlLmg6CisgICAgICAgICogY3NzL0NTU0luaXRpYWxWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NJbml0aWFsVmFsdWU6OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAqIGNz
cy9DU1NJbml0aWFsVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NMaW5lQm94Q29udGFpblZhbHVlOjpjdXN0b21D
c3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oOgorICAgICAg
ICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmlt
aXRpdmVWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlLmg6CisgICAgICAgICogY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NSZWZsZWN0VmFsdWU6OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NS
ZWZsZWN0VmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NMaW5lYXJUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21D
c3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0N1YmljQmV6aWVyVGltaW5nRnVuY3Rpb25W
YWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdGVwc1RpbWluZ0Z1
bmN0aW9uVmFsdWU6OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NUaW1pbmdGdW5j
dGlvblZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NMaW5lYXJUaW1pbmdGdW5jdGlvblZh
bHVlOjpDU1NMaW5lYXJUaW1pbmdGdW5jdGlvblZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTVW5p
Y29kZVJhbmdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVW5pY29kZVJhbmdlVmFs
dWU6OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5o
OgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1
ZTo6Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgICogY3NzL0NT
U1ZhbHVlTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6OmN1c3RvbUNz
c1RleHQpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUxpc3QuaDoKKyAgICAgICAgKiBjc3MvRm9u
dEZhbWlseVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRGYW1pbHlWYWx1ZTo6Y3Vz
dG9tQ3NzVGV4dCk6CisgICAgICAgICogY3NzL0ZvbnRGYW1pbHlWYWx1ZS5oOgorICAgICAgICAq
IGNzcy9Gb250RmVhdHVyZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRGZWF0dXJl
VmFsdWU6OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAqIGNzcy9Gb250RmVhdHVyZVZhbHVlLmg6
CisgICAgICAgICogY3NzL0ZvbnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250VmFs
dWU6OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAqIGNzcy9Gb250VmFsdWUuaDoKKyAgICAgICAg
KiBjc3MvU2hhZG93VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VmFsdWU6OmN1
c3RvbUNzc1RleHQpOgorICAgICAgICAqIGNzcy9TaGFkb3dWYWx1ZS5oOgorICAgICAgICAqIGNz
cy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NG
aWx0ZXJWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6CisgICAgICAgICogY3NzL1dlYktpdENTU0ZpbHRl
clZhbHVlLmg6CisgICAgICAgICogY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpjdXN0b21Dc3NUZXh0KToK
KyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaDoKKyAgICAgICAgKiBzdmcv
U1ZHQ29sb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ29sb3I6OmN1c3RvbUNzc1RleHQp
OgorICAgICAgICAqIHN2Zy9TVkdDb2xvci5oOgorICAgICAgICAqIHN2Zy9TVkdQYWludC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQYWludDo6Y3VzdG9tQ3NzVGV4dCk6CisgICAgICAgICog
c3ZnL1NWR1BhaW50Lmg6CisKKzIwMTEtMTEtMDggIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJr
aXQub3JnPgorCiAgICAgICAgIENTU1ZhbHVlOiBEZXZpcnR1YWxpemUgYWRkU3VicmVzb3VyY2VT
dHlsZVVSTHMoKS4KICAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzE4MDU+CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcAppbmRleCA2ZDhmOWIxLi43MTNh
MTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCkBAIC0z
Nyw3ICszNyw3IEBAIENTU0FzcGVjdFJhdGlvVmFsdWU6On5DU1NBc3BlY3RSYXRpb1ZhbHVlKCkK
IHsKIH0KIAotU3RyaW5nIENTU0FzcGVjdFJhdGlvVmFsdWU6OmNzc1RleHQoKSBjb25zdAorU3Ry
aW5nIENTU0FzcGVjdFJhdGlvVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogewogICAgIFN0
cmluZ0J1aWxkZXIgcmVzdWx0OwogICAgIHJlc3VsdC5hcHBlbmQoU3RyaW5nOjpudW1iZXIobV9u
dW1lcmF0b3JWYWx1ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVj
dFJhdGlvVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmgK
aW5kZXggMzdiZWM5ZC4uNWVhMTQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0FzcGVjdFJhdGlvVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0
aW9WYWx1ZS5oCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkNTU0Fz
cGVjdFJhdGlvVmFsdWUoKTsKIAotICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsK
KyAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OwogCiAgICAgZmxvYXQgbnVtZXJhdG9y
VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX251bWVyYXRvclZhbHVlOyB9CiAgICAgZmxvYXQgZGVu
b21pbmF0b3JWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVub21pbmF0b3JWYWx1ZTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAppbmRleCAz
YmRjYmRiLi5iNTQzZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1h
Z2VTbGljZVZhbHVlLmNwcApAQCAtNDIsNyArNDIsNyBAQCBDU1NCb3JkZXJJbWFnZVNsaWNlVmFs
dWU6On5DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUoKQogewogfQogCi1TdHJpbmcgQ1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlOjpjc3NUZXh0KCkgY29uc3QKK1N0cmluZyBDU1NCb3JkZXJJbWFnZVNs
aWNlVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogewogICAgIC8vIER1bXAgdGhlIHNsaWNl
cyBmaXJzdC4KICAgICBTdHJpbmcgdGV4dCA9IG1fc2xpY2VzLT5jc3NUZXh0KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmgKaW5kZXggYjdmMWYwMy4u
YWYxMjBhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFs
dWUuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIHZpcnR1YWwgfkNTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZSgpOwogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNv
bnN0OworICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CiAKICAgICBRdWFkKiBzbGlj
ZXMoKSB7IHJldHVybiBtX3NsaWNlcyA/IG1fc2xpY2VzLT5nZXRRdWFkVmFsdWUoKSA6IDA7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwCmluZGV4IDdjMGEz
NGIuLjhmZjZiYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFn
ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5j
cHAKQEAgLTQxLDcgKzQxLDcgQEAgQ1NTQm9yZGVySW1hZ2VWYWx1ZTo6fkNTU0JvcmRlckltYWdl
VmFsdWUoKQogewogfQogCi1TdHJpbmcgQ1NTQm9yZGVySW1hZ2VWYWx1ZTo6Y3NzVGV4dCgpIGNv
bnN0CitTdHJpbmcgQ1NTQm9yZGVySW1hZ2VWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB7
CiAgICAgLy8gSW1hZ2UgZmlyc3QuCiAgICAgU3RyaW5nIHRleHQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0JvcmRlckltYWdlVmFsdWUuaAppbmRleCBkMTY1ZmUwLi4xYjgwZDZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgKQEAgLTM4LDcgKzM4LDcgQEAgcHVibGlj
OgogICAgIH0KICAgICB2aXJ0dWFsIH5DU1NCb3JkZXJJbWFnZVZhbHVlKCk7CiAKLSAgICB2aXJ0
dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBj
b25zdDsKIAogICAgIENTU1ZhbHVlKiBpbWFnZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9pbWFn
ZS5nZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcAppbmRleCAwNTZh
NWZkLi43ODNjZWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFs
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAKQEAgLTM3
LDcgKzM3LDcgQEAgQ1NTQ2FudmFzVmFsdWU6On5DU1NDYW52YXNWYWx1ZSgpCiAgICAgICAgIG1f
ZWxlbWVudC0+cmVtb3ZlT2JzZXJ2ZXIoJm1fY2FudmFzT2JzZXJ2ZXIpOwogfQogCi1TdHJpbmcg
Q1NTQ2FudmFzVmFsdWU6OmNzc1RleHQoKSBjb25zdAorU3RyaW5nIENTU0NhbnZhc1ZhbHVlOjpj
dXN0b21Dc3NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmcgcmVzdWx0ID0gIi13ZWJraXQtY2Fu
dmFzKCI7CiAgICAgcmVzdWx0ICs9IG1fbmFtZSAgKyAiKSI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52
YXNWYWx1ZS5oCmluZGV4IDRmNmZlZjUuLjQzMGRhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52
YXNWYWx1ZS5oCkBAIC0zOCw3ICszOCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxDU1NDYW52YXNWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0NhbnZh
c1ZhbHVlKTsgfQogICAgIHZpcnR1YWwgfkNTU0NhbnZhc1ZhbHVlKCk7CiAKLSAgICB2aXJ0dWFs
IFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25z
dDsKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJbWFnZT4gaW1hZ2UoUmVuZGVyT2JqZWN0Kiwg
Y29uc3QgSW50U2l6ZSYpOwogICAgIHZpcnR1YWwgYm9vbCBpc0ZpeGVkU2l6ZSgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDcm9zc2Zh
ZGVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwCmlu
ZGV4IGVlNzM5MmMuLjE0YzI1MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
cm9zc2ZhZGVWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nyb3NzZmFkZVZh
bHVlLmNwcApAQCAtMzMsNyArMzMsNyBAQCBDU1NDcm9zc2ZhZGVWYWx1ZTo6fkNTU0Nyb3NzZmFk
ZVZhbHVlKCkKIAogfQogCi1TdHJpbmcgQ1NTQ3Jvc3NmYWRlVmFsdWU6OmNzc1RleHQoKSBjb25z
dAorU3RyaW5nIENTU0Nyb3NzZmFkZVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHsKICAg
ICBTdHJpbmcgcmVzdWx0ID0gIi13ZWJraXQtY3Jvc3MtZmFkZSgiOwogICAgIHJlc3VsdCArPSBt
X2Zyb21JbWFnZS0+Y3NzVGV4dCgpICsgIiwgIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nyb3NzZmFk
ZVZhbHVlLmgKaW5kZXggNDAzMTgyZS4uOTBmYzI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Ny
b3NzZmFkZVZhbHVlLmgKQEAgLTQwLDcgKzQwLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPENTU0Nyb3NzZmFkZVZhbHVlPiBjcmVhdGUoUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVl
PiBmcm9tSW1hZ2UsIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gdG9JbWFnZSkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IENTU0Nyb3NzZmFkZVZhbHVlKGZyb21JbWFnZSwgdG9JbWFnZSkpOyB9CiAg
ICAgdmlydHVhbCB+Q1NTQ3Jvc3NmYWRlVmFsdWUoKTsKIAotICAgIHZpcnR1YWwgU3RyaW5nIGNz
c1RleHQoKSBjb25zdCBPVkVSUklERTsKKyAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0
OwogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEltYWdlPiBpbWFnZShSZW5kZXJPYmplY3QqLCBj
b25zdCBJbnRTaXplJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzRml4ZWRTaXplKCkg
Y29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGbGV4VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZsZXhWYWx1
ZS5jcHAKaW5kZXggMjhmM2JlOS4uNmJkMzEyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZsZXhWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZsZXhWYWx1
ZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgQ1NTRmxleFZhbHVlOjp+Q1NTRmxleFZhbHVlKCkKIHsK
IH0KIAotU3RyaW5nIENTU0ZsZXhWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTRmxl
eFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmdCdWlsZGVyIHJlc3Vs
dDsKICAgICByZXN1bHQuYXBwZW5kKCItd2Via2l0LWZsZXgoIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRmxleFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRmxl
eFZhbHVlLmgKaW5kZXggYzI2NjJlZS4uOTkwOTlkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZsZXhWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGbGV4VmFs
dWUuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5DU1NGbGV4VmFs
dWUoKTsKIAotICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcg
Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0OwogCiAgICAgZmxvYXQgcG9zaXRpdmVGbGV4KCkgeyByZXR1
cm4gbV9wb3NpdGl2ZUZsZXg7IH0KICAgICBmbG9hdCBuZWdhdGl2ZUZsZXgoKSB7IHJldHVybiBt
X25lZ2F0aXZlRmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlU3JjVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUu
Y3BwCmluZGV4IDViNGMzMTEuLjA1NjdmZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VTcmNWYWx1ZS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgYm9vbCBDU1NGb250RmFjZVNyY1Zh
bHVlOjppc1N1cHBvcnRlZEZvcm1hdCgpIGNvbnN0CiAgICAgICAgICAgIDsKIH0KIAotU3RyaW5n
IENTU0ZvbnRGYWNlU3JjVmFsdWU6OmNzc1RleHQoKSBjb25zdAorU3RyaW5nIENTU0ZvbnRGYWNl
U3JjVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogewogICAgIFN0cmluZyByZXN1bHQ7CiAg
ICAgaWYgKGlzTG9jYWwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVNyY1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5o
CmluZGV4IDYwZWIyN2YuLmYwMzY5NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250RmFjZVNyY1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
U3JjVmFsdWUuaApAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTVkdGb250
RmFjZUVsZW1lbnQoU1ZHRm9udEZhY2VFbGVtZW50KiBlbGVtZW50KSB7IG1fc3ZnRm9udEZhY2VF
bGVtZW50ID0gZWxlbWVudDsgfQogI2VuZGlmCiAKLSAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0
KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKIAogICAgIHZvaWQg
YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mLCBjb25zdCBDU1NTdHls
ZVNoZWV0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZhbHVlLmNwcAppbmRleCA0
OTNjYmIyLi5jMzFhYjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rp
b25WYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3Bw
CkBAIC00NCw3ICs0NCw3IEBAIENTU0Z1bmN0aW9uVmFsdWU6On5DU1NGdW5jdGlvblZhbHVlKCkK
IHsKIH0KIAotU3RyaW5nIENTU0Z1bmN0aW9uVmFsdWU6OmNzc1RleHQoKSBjb25zdAorU3RyaW5n
IENTU0Z1bmN0aW9uVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogewogICAgIFN0cmluZyBy
ZXN1bHQgPSBtX25hbWU7IC8vIEluY2x1ZGVzIHRoZSAnKCcKICAgICBpZiAobV9hcmdzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZhbHVlLmgKaW5kZXggMGExODdhOS4uNDUwNTA5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5oCkBAIC00Miw3ICs0Miw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgfkNTU0Z1bmN0aW9uVmFsdWUoKTsKIAotICAgIHZpcnR1YWwgU3Ry
aW5nIGNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0Owog
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IENTU0Z1bmN0aW9uVmFsdWUoQ1NTUGFyc2VyRnVuY3Rp
b24qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAppbmRleCAzNTY1NDMx
Li5mZWIwMWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC00
MzcsNyArNDM3LDcgQEAgYm9vbCBDU1NHcmFkaWVudFZhbHVlOjppc0NhY2hlYWJsZSgpIGNvbnN0
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLVN0cmluZyBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpj
c3NUZXh0KCkgY29uc3QKK1N0cmluZyBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpjdXN0b21Dc3NU
ZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmcgcmVzdWx0OwogICAgIGlmIChtX2RlcHJlY2F0ZWRU
eXBlKSB7CkBAIC01NzksNyArNTc5LDcgQEAgUGFzc1JlZlB0cjxHcmFkaWVudD4gQ1NTTGluZWFy
R3JhZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnQoUmVuZGVyT2JqZWN0KiByZW5kZXIKICAgICBy
ZXR1cm4gZ3JhZGllbnQucmVsZWFzZSgpOwogfQogCi1TdHJpbmcgQ1NTUmFkaWFsR3JhZGllbnRW
YWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTUmFkaWFsR3JhZGllbnRWYWx1ZTo6Y3Vz
dG9tQ3NzVGV4dCgpIGNvbnN0CiB7CiAgICAgU3RyaW5nIHJlc3VsdDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NHcmFkaWVudFZhbHVlLmgKaW5kZXggZTdmNmI1Ny4uNTljMDc4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5oCkBAIC0xMDYsNyArMTA2LDcgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBzZXRBbmdsZShQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwpIHsgbV9h
bmdsZSA9IHZhbDsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAg
IFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CiAKICAgICAvLyBDcmVhdGUgdGhlIGdyYWRp
ZW50IGZvciBhIGdpdmVuIHNpemUuCiAgICAgUGFzc1JlZlB0cjxHcmFkaWVudD4gY3JlYXRlR3Jh
ZGllbnQoUmVuZGVyT2JqZWN0KiwgY29uc3QgSW50U2l6ZSYpOwpAQCAtMTI3LDcgKzEyNyw3IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NSYWRpYWxHcmFkaWVudFZh
bHVlKHJlcGVhdCwgZGVwcmVjYXRlZFR5cGUpKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIFN0cmlu
ZyBjc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKIAog
ICAgIHZvaWQgc2V0Rmlyc3RSYWRpdXMoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFs
KSB7IG1fZmlyc3RSYWRpdXMgPSB2YWw7IH0KICAgICB2b2lkIHNldFNlY29uZFJhZGl1cyhQYXNz
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwpIHsgbV9zZWNvbmRSYWRpdXMgPSB2YWw7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbmhlcml0ZWRWYWx1ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5oZXJpdGVkVmFsdWUuY3BwCmluZGV4IGEyZGUxOGEuLjhj
NGJlNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbmhlcml0ZWRWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaGVyaXRlZFZhbHVlLmNwcApAQCAtMjUs
NyArMjUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVN0cmluZyBDU1NJbmhlcml0ZWRW
YWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTSW5oZXJpdGVkVmFsdWU6OmN1c3RvbUNz
c1RleHQoKSBjb25zdAogewogICAgIHJldHVybiAiaW5oZXJpdCI7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5oZXJpdGVkVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbmhlcml0ZWRWYWx1ZS5oCmluZGV4IGZhZWFhN2UuLjVhYTkwNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbmhlcml0ZWRWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbmhlcml0ZWRWYWx1ZS5oCkBAIC0zMyw3ICszMyw3IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbmhlcml0ZWRWYWx1ZSk7CiAgICAgfQogCi0g
ICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBjdXN0b21Dc3NU
ZXh0KCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgQ1NTSW5oZXJpdGVkVmFsdWUoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaXRpYWxWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcAppbmRleCA2YzhjZjM2Li44ZGUzZjMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcApAQCAtMjUsNyArMjUsNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVN0cmluZyBDU1NJbml0aWFsVmFsdWU6OmNzc1RleHQoKSBj
b25zdAorU3RyaW5nIENTU0luaXRpYWxWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuICJpbml0aWFsIjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbml0aWFsVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuaApp
bmRleCAwNWYwZDUxLi44MWRjYThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW5pdGlhbFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaXRpYWxWYWx1ZS5o
CkBAIC0zOSw3ICszOSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGV4cGxpY2l0VmFsdWU7
CiAgICAgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmlu
ZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgQ1NTSW5pdGlhbFZhbHVl
KGJvb2wgaW1wbGljaXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGluZUJv
eENvbnRhaW5WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGluZUJveENvbnRhaW5W
YWx1ZS5jcHAKaW5kZXggMGY3YTFjNC4uNTMxMzJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmNwcApAQCAtMzcsNyArMzcsNyBAQCBDU1NMaW5lQm94
Q29udGFpblZhbHVlOjpDU1NMaW5lQm94Q29udGFpblZhbHVlKHVuc2lnbmVkIHZhbHVlKQogewog
fQogCi1TdHJpbmcgQ1NTTGluZUJveENvbnRhaW5WYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CitTdHJp
bmcgQ1NTTGluZUJveENvbnRhaW5WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB7CiAgICAg
U3RyaW5nIHRleHQoIiIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGlu
ZUJveENvbnRhaW5WYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0xpbmVCb3hDb250YWlu
VmFsdWUuaAppbmRleCBiZTk5YjBiLi5kZGMwYzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NMaW5lQm94Q29udGFpblZhbHVlLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IENTU0xpbmVCb3hDb250YWluVmFsdWUodmFsdWUpKTsKICAg
ICB9CiAKLSAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1
c3RvbUNzc1RleHQoKSBjb25zdDsKIAogICAgIExpbmVCb3hDb250YWluIHZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV92YWx1ZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
LmNwcAppbmRleCAwMDI3YmE1Li42ZDk2ZDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAKQEAgLTcwOCw3ICs3MDgsNyBAQCBzdGF0aWMgU3RyaW5nIGZvcm1hdE51
bWJlcihkb3VibGUgbnVtYmVyKQogICAgIHJldHVybiBTdHJpbmc6OmFkb3B0KGJ1ZmZlcik7CiB9
CiAKLVN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NT
UHJpbWl0aXZlVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBy
ZXR1cm4gdGhlIG9yaWdpbmFsIHZhbHVlIGluc3RlYWQgb2YgYSBnZW5lcmF0ZWQgb25lIChlLmcu
IGNvbG9yCiAgICAgLy8gbmFtZSBpZiBpdCB3YXMgc3BlY2lmaWVkKSAtIGNoZWNrIHdoYXQgc3Bl
YyBzYXlzIGFib3V0IHRoaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKaW5k
ZXggOWYxYjE3Ni4uMTgwZGU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
LmgKQEAgLTIwNyw3ICsyMDcsNyBAQCBwdWJsaWM6CiAgICAgaW50IGdldElkZW50KCkgY29uc3Q7
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIG9wZXJhdG9yIFQoKSBjb25zdDsgLy8g
RGVmaW5lZCBpbiBDU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKIAotICAgIHZpcnR1YWwgU3Ry
aW5nIGNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0Owog
CiAgICAgYm9vbCBpc1F1aXJrVmFsdWUoKSB7IHJldHVybiBtX2lzUXVpcmtWYWx1ZTsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCmluZGV4IGRkYzNjZWYuLjkxMWQxMTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCkBAIC0zMyw3ICszMyw3IEBA
IHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU3RyaW5nIENT
U1JlZmxlY3RWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTUmVmbGVjdFZhbHVlOjpj
dXN0b21Dc3NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmcgcmVzdWx0OwogICAgIHN3aXRjaCAo
bV9kaXJlY3Rpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0
VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuaAppbmRleCBjMzhi
Njk0Li41YjAzZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZh
bHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5oCkBAIC00Nyw3
ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBDU1NQcmltaXRpdmVWYWx1ZSogb2Zmc2V0KCkgY29uc3Qg
eyByZXR1cm4gbV9vZmZzZXQuZ2V0KCk7IH0KICAgICBDU1NWYWx1ZSogbWFzaygpIGNvbnN0IHsg
cmV0dXJuIG1fbWFzay5nZXQoKTsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNv
bnN0OworICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CiAKICAgICB2b2lkIGFkZFN1
YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiwgY29uc3QgQ1NTU3R5bGVTaGVl
dCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25W
YWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAK
aW5kZXggZDI5YzJkZi4uZGNmN2JiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1RpbWluZ0Z1bmN0aW9uVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUaW1p
bmdGdW5jdGlvblZhbHVlLmNwcApAQCAtMzAsMTIgKzMwLDEyIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotU3RyaW5nIENTU0xpbmVhclRpbWluZ0Z1bmN0aW9uVmFsdWU6OmNzc1RleHQoKSBj
b25zdAorU3RyaW5nIENTU0xpbmVhclRpbWluZ0Z1bmN0aW9uVmFsdWU6OmN1c3RvbUNzc1RleHQo
KSBjb25zdAogewogICAgIHJldHVybiAibGluZWFyIjsKIH0KIAotU3RyaW5nIENTU0N1YmljQmV6
aWVyVGltaW5nRnVuY3Rpb25WYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTQ3ViaWNC
ZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHsKICAgICBT
dHJpbmcgdGV4dCgiY3ViaWMtYmV6aWVyKCIpOwogICAgIHRleHQgKz0gU3RyaW5nOjpudW1iZXIo
bV94MSk7CkBAIC00OSw3ICs0OSw3IEBAIFN0cmluZyBDU1NDdWJpY0JlemllclRpbWluZ0Z1bmN0
aW9uVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgIHJldHVybiB0ZXh0OwogfQogCi1TdHJpbmcg
Q1NTU3RlcHNUaW1pbmdGdW5jdGlvblZhbHVlOjpjc3NUZXh0KCkgY29uc3QKK1N0cmluZyBDU1NT
dGVwc1RpbWluZ0Z1bmN0aW9uVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogewogICAgIFN0
cmluZyB0ZXh0KCJzdGVwcygiKTsKICAgICB0ZXh0ICs9IFN0cmluZzo6bnVtYmVyKG1fc3RlcHMp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgKaW5kZXggMGJm
OThhOC4uOTk1OGE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RpbWluZ0Z1
bmN0aW9uVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25W
YWx1ZS5oCkBAIC0zMyw4ICszMyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ1NT
VGltaW5nRnVuY3Rpb25WYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CiBwdWJsaWM6Ci0gICAgdmly
dHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0ID0gMDsKLQogICAgIGJvb2wgaXNMaW5lYXJUaW1p
bmdGdW5jdGlvblZhbHVlKCkgY29uc3QgeyByZXR1cm4gY2xhc3NUeXBlKCkgPT0gTGluZWFyVGlt
aW5nRnVuY3Rpb25DbGFzczsgfQogICAgIGJvb2wgaXNDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9u
VmFsdWUoKSBjb25zdCB7IHJldHVybiBjbGFzc1R5cGUoKSA9PSBDdWJpY0JlemllclRpbWluZ0Z1
bmN0aW9uQ2xhc3M7IH0KICAgICBib29sIGlzU3RlcHNUaW1pbmdGdW5jdGlvblZhbHVlKCkgY29u
c3QgeyByZXR1cm4gY2xhc3NUeXBlKCkgPT0gU3RlcHNUaW1pbmdGdW5jdGlvbkNsYXNzOyB9CkBA
IC01MywxMyArNTEsMTMgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENT
U0xpbmVhclRpbWluZ0Z1bmN0aW9uVmFsdWUpOwogICAgIH0KIAorICAgIFN0cmluZyBjdXN0b21D
c3NUZXh0KCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgQ1NTTGluZWFyVGltaW5nRnVuY3Rpb25W
YWx1ZSgpCiAgICAgICAgIDogQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZShMaW5lYXJUaW1pbmdGdW5j
dGlvbkNsYXNzKQogICAgIHsKICAgICB9Ci0KLSAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkg
Y29uc3Q7CiB9OwogCiBjbGFzcyBDU1NDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uVmFsdWUgOiBw
dWJsaWMgQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZSB7CkBAIC02OSw2ICs2Nyw4IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9u
VmFsdWUoeDEsIHkxLCB4MiwgeTIpKTsKICAgICB9CiAKKyAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4
dCgpIGNvbnN0OworCiAgICAgZG91YmxlIHgxKCkgY29uc3QgeyByZXR1cm4gbV94MTsgfQogICAg
IGRvdWJsZSB5MSgpIGNvbnN0IHsgcmV0dXJuIG1feTE7IH0KICAgICBkb3VibGUgeDIoKSBjb25z
dCB7IHJldHVybiBtX3gyOyB9CkBAIC04NCw4ICs4NCw2IEBAIHByaXZhdGU6CiAgICAgewogICAg
IH0KIAotICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKLQogICAgIGRvdWJsZSBt
X3gxOwogICAgIGRvdWJsZSBtX3kxOwogICAgIGRvdWJsZSBtX3gyOwpAQCAtMTAyLDYgKzEwMCw4
IEBAIHB1YmxpYzoKICAgICBpbnQgbnVtYmVyT2ZTdGVwcygpIGNvbnN0IHsgcmV0dXJuIG1fc3Rl
cHM7IH0KICAgICBib29sIHN0ZXBBdFN0YXJ0KCkgY29uc3QgeyByZXR1cm4gbV9zdGVwQXRTdGFy
dDsgfQogCisgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKwogcHJpdmF0ZToKICAg
ICBDU1NTdGVwc1RpbWluZ0Z1bmN0aW9uVmFsdWUoaW50IHN0ZXBzLCBib29sIHN0ZXBBdFN0YXJ0
KQogICAgICAgICA6IENTU1RpbWluZ0Z1bmN0aW9uVmFsdWUoU3RlcHNUaW1pbmdGdW5jdGlvbkNs
YXNzKQpAQCAtMTEwLDggKzExMCw2IEBAIHByaXZhdGU6CiAgICAgewogICAgIH0KIAotICAgIHZp
cnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKLQogICAgIGludCBtX3N0ZXBzOwogICAgIGJv
b2wgbV9zdGVwQXRTdGFydDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VW5pY29kZVJhbmdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaWNvZGVSYW5n
ZVZhbHVlLmNwcAppbmRleCBmN2I4Nzc5Li5hMWEyYjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVW5pY29kZVJhbmdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAgQ1NTVW5pY29kZVJh
bmdlVmFsdWU6On5DU1NVbmljb2RlUmFuZ2VWYWx1ZSgpCiB7CiB9CiAKLVN0cmluZyBDU1NVbmlj
b2RlUmFuZ2VWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTVW5pY29kZVJhbmdlVmFs
dWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogewogICAgIFN0cmluZyByZXN1bHQ7CiAgICAgLy8g
RklYTUU6IEltcGxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmlj
b2RlUmFuZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaWNvZGVSYW5nZVZhbHVl
LmgKaW5kZXggNDU4YmYxYS4uYThiNGEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1VuaWNvZGVSYW5nZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaWNv
ZGVSYW5nZVZhbHVlLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIFVDaGFyMzIgZnJv
bSgpIGNvbnN0IHsgcmV0dXJuIG1fZnJvbTsgfQogICAgIFVDaGFyMzIgdG8oKSBjb25zdCB7IHJl
dHVybiBtX3RvOyB9CiAKLSAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisgICAg
U3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBDU1NVbmljb2Rl
UmFuZ2VWYWx1ZShVQ2hhcjMyIGZyb20sIFVDaGFyMzIgdG8pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNw
cAppbmRleCA0N2E3Mjg3Li5lYTk0ZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTI3
LDExICsyNywzNCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlLmgi
CiAKKyNpbmNsdWRlICJDU1NBc3BlY3RSYXRpb1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVy
SW1hZ2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIgorI2lu
Y2x1ZGUgIkNTU0NhbnZhc1ZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTQ3Jvc3NmYWRlVmFsdWUuaCIK
KyNpbmNsdWRlICJDU1NDdXJzb3JJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTRmxleFZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VTcmNWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0Z1bmN0
aW9uVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmgiCisjaW5jbHVkZSAiQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKKyNpbmNs
dWRlICJDU1NJbmhlcml0ZWRWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0luaXRpYWxWYWx1ZS5oIgor
I2luY2x1ZGUgIkNTU0xpbmVCb3hDb250YWluVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRp
dmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1JlZmxlY3RWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU1Rp
bWluZ0Z1bmN0aW9uVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NVbmljb2RlUmFuZ2VWYWx1ZS5oIgog
I2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgorI2luY2x1ZGUgIkZvbnRWYWx1ZS5oIgorI2luY2x1
ZGUgIkZvbnRGYW1pbHlWYWx1ZS5oIgorI2luY2x1ZGUgIkZvbnRGZWF0dXJlVmFsdWUuaCIKKyNp
bmNsdWRlICJTaGFkb3dWYWx1ZS5oIgorI2luY2x1ZGUgIlNWR0NvbG9yLmgiCisjaW5jbHVkZSAi
U1ZHUGFpbnQuaCIKKyNpbmNsdWRlICJXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oIgorI2luY2x1ZGUg
IldlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
NjIsNCArODUsNzkgQEAgdm9pZCBDU1NWYWx1ZTo6YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlz
dEhhc2hTZXQ8S1VSTD4mIHVybHMsIGNvbnN0IENTU1N0eWxlU2gKICAgICAgICAgc3RhdGljX2Nh
c3Q8Q1NTUmVmbGVjdFZhbHVlKj4odGhpcyktPmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKHVybHMs
IHN0eWxlU2hlZXQpOwogfQogCitTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAorewor
ICAgIHN3aXRjaCAoY2xhc3NUeXBlKCkpIHsKKyAgICBjYXNlIEFzcGVjdFJhdGlvQ2xhc3M6Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NBc3BlY3RSYXRpb1ZhbHVlKj4odGhp
cyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICBjYXNlIEJvcmRlckltYWdlQ2xhc3M6CisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NCb3JkZXJJbWFnZVZhbHVlKj4odGhpcyktPmN1
c3RvbUNzc1RleHQoKTsKKyAgICBjYXNlIEJvcmRlckltYWdlU2xpY2VDbGFzczoKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZSo+KHRoaXMp
LT5jdXN0b21Dc3NUZXh0KCk7CisgICAgY2FzZSBDYW52YXNDbGFzczoKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGNvbnN0IENTU0NhbnZhc1ZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQo
KTsKKyAgICBjYXNlIEN1cnNvckltYWdlQ2xhc3M6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NDdXJzb3JJbWFnZVZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKKyAg
ICBjYXNlIEZvbnRDbGFzczoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEZvbnRW
YWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgY2FzZSBGb250RmFjZVNyY0NsYXNz
OgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTRm9udEZhY2VTcmNWYWx1ZSo+
KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgY2FzZSBGb250RmFtaWx5Q2xhc3M6CisgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBGb250RmFtaWx5VmFsdWUqPih0aGlzKS0+Y3Vz
dG9tQ3NzVGV4dCgpOworICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGNvbnN0IEZvbnRGZWF0dXJlVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4
dCgpOworICAgIGNhc2UgRnVuY3Rpb25DbGFzczoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IENTU0Z1bmN0aW9uVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworICAgIGNh
c2UgTGluZWFyR3JhZGllbnRDbGFzczoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0
IENTU0xpbmVhckdyYWRpZW50VmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworICAgIGNh
c2UgUmFkaWFsR3JhZGllbnRDbGFzczoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0
IENTU1JhZGlhbEdyYWRpZW50VmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworICAgIGNh
c2UgQ3Jvc3NmYWRlQ2xhc3M6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1ND
cm9zc2ZhZGVWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgY2FzZSBJbWFnZUNs
YXNzOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTSW1hZ2VWYWx1ZSo+KHRo
aXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgY2FzZSBJbmhlcml0ZWRDbGFzczoKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0luaGVyaXRlZFZhbHVlKj4odGhpcyktPmN1c3Rv
bUNzc1RleHQoKTsKKyAgICBjYXNlIEluaXRpYWxDbGFzczoKKyAgICBjYXNlIEltcGxpY2l0SW5p
dGlhbENsYXNzOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTSW5pdGlhbFZh
bHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICBjYXNlIFByaW1pdGl2ZUNsYXNzOgor
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUqPih0aGlz
KS0+Y3VzdG9tQ3NzVGV4dCgpOworICAgIGNhc2UgUmVmbGVjdENsYXNzOgorICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTUmVmbGVjdFZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1Rl
eHQoKTsKKyAgICBjYXNlIFNoYWRvd0NsYXNzOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
Y29uc3QgU2hhZG93VmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworICAgIGNhc2UgTGlu
ZWFyVGltaW5nRnVuY3Rpb25DbGFzczoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0
IENTU0xpbmVhclRpbWluZ0Z1bmN0aW9uVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwor
ICAgIGNhc2UgQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbkNsYXNzOgorICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Y29uc3QgQ1NTQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlKj4odGhp
cyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICBjYXNlIFN0ZXBzVGltaW5nRnVuY3Rpb25DbGFzczoK
KyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1N0ZXBzVGltaW5nRnVuY3Rpb25W
YWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgY2FzZSBVbmljb2RlUmFuZ2VDbGFz
czoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1VuaWNvZGVSYW5nZVZhbHVl
Kj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICBjYXNlIFZhbHVlTGlzdENsYXNzOgorICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTVmFsdWVMaXN0Kj4odGhpcyktPmN1c3Rv
bUNzc1RleHQoKTsKKyAgICBjYXNlIFdlYktpdENTU1RyYW5zZm9ybUNsYXNzOgorICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUqPih0aGlzKS0+
Y3VzdG9tQ3NzVGV4dCgpOworICAgIGNhc2UgTGluZUJveENvbnRhaW5DbGFzczoKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0xpbmVCb3hDb250YWluVmFsdWUqPih0aGlzKS0+
Y3VzdG9tQ3NzVGV4dCgpOworI2lmIEVOQUJMRShDU1MzX0ZMRVhCT1gpCisgICAgY2FzZSBGbGV4
Q2xhc3M6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NGbGV4VmFsdWUqPih0
aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworI2VuZGlmCisjaWYgRU5BQkxFKENTU19GSUxURVJTKQor
ICAgIGNhc2UgV2ViS2l0Q1NTRmlsdGVyQ2xhc3M6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBXZWJLaXRDU1NGaWx0ZXJWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoU1ZHKQorICAgIGNhc2UgU1ZHQ29sb3JDbGFzczoKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFNWR0NvbG9yKj4odGhpcyktPmN1c3RvbUNzc1RleHQo
KTsKKyAgICBjYXNlIFNWR1BhaW50Q2xhc3M6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxj
b25zdCBTVkdQYWludCo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisjZW5kaWYKKyAgICB9Cisg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFN0cmluZygpOworfQorCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZS5oCmluZGV4IDlhNmFiMjIuLjI2NTMwZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgIFR5cGUgY3NzVmFsdWVUeXBlKCkg
Y29uc3Q7CiAKLSAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgPSAwOworICAgIFN0
cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDc3NUZXh0KGNvbnN0IFN0cmluZyYs
IEV4Y2VwdGlvbkNvZGUmKSB7IH0gLy8gRklYTUU6IE5vdCBpbXBsZW1lbnRlZC4KIAogICAgIGJv
b2wgaXNNdXRhYmxlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2lzTXV0YWJsZTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcAppbmRleCA3YWEzYWMyLi43YTI4OGI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcApAQCAtOTgsNyArOTgsNyBAQCBQYXNzUmVmUHRyPENTU1Zh
bHVlTGlzdD4gQ1NTVmFsdWVMaXN0Ojpjb3B5KCkKICAgICByZXR1cm4gbmV3TGlzdDsKIH0KIAot
U3RyaW5nIENTU1ZhbHVlTGlzdDo6Y3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTVmFsdWVMaXN0
OjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmcgcmVzdWx0ID0gIiI7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaAppbmRleCA5MTYyMjVmLi4yMmFiZjNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlTGlzdC5oCkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICBib29sIGhh
c1ZhbHVlKENTU1ZhbHVlKikgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IGNv
cHkoKTsKIAotICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcg
Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0OwogCiAgICAgdm9pZCBhZGRTdWJyZXNvdXJjZVN0eWxlVVJM
cyhMaXN0SGFzaFNldDxLVVJMPiYsIGNvbnN0IENTU1N0eWxlU2hlZXQqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYW1pbHlWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRm9udEZhbWlseVZhbHVlLmNwcAppbmRleCA1ZDgzZmIxLi42NjU4OTVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhbWlseVZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRm9udEZhbWlseVZhbHVlLmNwcApAQCAtNjQsNyArNjQsNyBAQCB2b2lkIEZv
bnRGYW1pbHlWYWx1ZTo6YXBwZW5kU3BhY2VTZXBhcmF0ZWQoY29uc3QgVUNoYXIqIGNoYXJhY3Rl
cnMsIHVuc2lnbmVkIGxlbgogICAgIG1fZmFtaWx5TmFtZS5hcHBlbmQoY2hhcmFjdGVycywgbGVu
Z3RoKTsKIH0KIAotU3RyaW5nIEZvbnRGYW1pbHlWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CitTdHJp
bmcgRm9udEZhbWlseVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4g
cXVvdGVDU1NTdHJpbmdJZk5lZWRlZChtX2ZhbWlseU5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYW1pbHlWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0Zv
bnRGYW1pbHlWYWx1ZS5oCmluZGV4IDA4N2QyMmEuLmIyZmJhYTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250RmFtaWx5VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Rm9udEZhbWlseVZhbHVlLmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgogCiAgICAgY29uc3Qg
U3RyaW5nJiBmYW1pbHlOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9mYW1pbHlOYW1lOyB9CiAKLSAg
ICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNzc1Rl
eHQoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBGb250RmFtaWx5VmFsdWUoY29uc3QgU3RyaW5n
JiBmYW1pbHlOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVy
ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcAppbmRl
eCAzM2YzMGY3Li42MmMzOTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZl
YXR1cmVWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFsdWUu
Y3BwCkBAIC0zOSw3ICszOSw3IEBAIEZvbnRGZWF0dXJlVmFsdWU6OkZvbnRGZWF0dXJlVmFsdWUo
Y29uc3QgU3RyaW5nJiB0YWcsIGludCB2YWx1ZSkKIHsKIH0KIAotU3RyaW5nIEZvbnRGZWF0dXJl
VmFsdWU6OmNzc1RleHQoKSBjb25zdAorU3RyaW5nIEZvbnRGZWF0dXJlVmFsdWU6OmN1c3RvbUNz
c1RleHQoKSBjb25zdAogewogICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKICAgICBidWlsZGVy
LmFwcGVuZCgiJyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJl
VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmgKaW5kZXggMzBi
MGRmYi4uN2Q1ZTAzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJl
VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZlYXR1cmVWYWx1ZS5oCkBAIC00
MCw3ICs0MCw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgdGFnKCkgY29uc3QgeyBy
ZXR1cm4gbV90YWc7IH0KICAgICBpbnQgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlOyB9
Ci0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBjdXN0b21D
c3NUZXh0KCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgRm9udEZlYXR1cmVWYWx1ZShjb25zdCBT
dHJpbmcmLCBpbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmNwcAppbmRleCA2YjA5MmIzLi4wMGU3
ZmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmNwcApAQCAtMjYsNyArMjYsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVN0cmluZyBGb250VmFsdWU6OmNzc1RleHQoKSBjb25zdAorU3Ry
aW5nIEZvbnRWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB7CiAgICAgLy8gZm9udCB2YXJp
YW50IHdlaWdodCBzaXplIC8gbGluZS1oZWlnaHQgZmFtaWx5CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250VmFsdWUu
aAppbmRleCBjOTY2YTA3Li41ZjgzMzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Rm9udFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5oCkBAIC0zNyw3
ICszNyw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb250VmFsdWUp
OwogICAgIH0KIAotICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJp
bmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OwogCiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
PiBzdHlsZTsKICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhcmlhbnQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1NoYWRvd1ZhbHVlLmNwcAppbmRleCAyNWFjNTE1Li4xNGM3Y2RhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TaGFkb3dWYWx1ZS5jcHAKQEAgLTQyLDcgKzQyLDcgQEAgU2hhZG93VmFsdWU6OlNoYWRvd1Zh
bHVlKFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IF94LAogewogfQogCi1TdHJpbmcgU2hh
ZG93VmFsdWU6OmNzc1RleHQoKSBjb25zdAorU3RyaW5nIFNoYWRvd1ZhbHVlOjpjdXN0b21Dc3NU
ZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmcgdGV4dCgiIik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1NoYWRvd1Zh
bHVlLmgKaW5kZXggYTg4YTBlNy4uMjE1NDdhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1NoYWRvd1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NoYWRvd1ZhbHVlLmgK
QEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNo
YWRvd1ZhbHVlKHgsIHksIGJsdXIsIHNwcmVhZCwgc3R5bGUsIGNvbG9yKSk7CiAgICAgfQogCi0g
ICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBjdXN0b21Dc3NU
ZXh0KCkgY29uc3Q7CiAKICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHg7CiAgICAgUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5jcHAKaW5kZXggMTA1MDA1ZS4uNzFlYzMyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCkBAIC00NCw3ICs0NCw3IEBAIFdlYktpdENT
U0ZpbHRlclZhbHVlOjp+V2ViS2l0Q1NTRmlsdGVyVmFsdWUoKQogewogfQogCi1TdHJpbmcgV2Vi
S2l0Q1NTRmlsdGVyVmFsdWU6OmNzc1RleHQoKSBjb25zdAorU3RyaW5nIFdlYktpdENTU0ZpbHRl
clZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmcgcmVzdWx0OwogICAg
IHN3aXRjaCAobV90eXBlKSB7CkBAIC04NSw3ICs4NSw3IEBAIFN0cmluZyBXZWJLaXRDU1NGaWx0
ZXJWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJl
dHVybiByZXN1bHQgKyBDU1NWYWx1ZUxpc3Q6OmNzc1RleHQoKSArICIpIjsKKyAgICByZXR1cm4g
cmVzdWx0ICsgQ1NTVmFsdWVMaXN0OjpjdXN0b21Dc3NUZXh0KCkgKyAiKSI7CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmgKaW5kZXggNDhmMWE3Yy4uY2Zi
NGM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmgKQEAgLTU5
LDcgKzU5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+V2ViS2l0Q1NTRmlsdGVyVmFsdWUo
KTsKIAotICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3Vz
dG9tQ3NzVGV4dCgpIGNvbnN0OwogCiAgICAgRmlsdGVyT3BlcmF0aW9uVHlwZSBvcGVyYXRpb25U
eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwCmluZGV4IGE1NmE5ZDEuLjZlMGNkZDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcApAQCAtNDIs
NyArNDIsNyBAQCBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6fldlYktpdENTU1RyYW5zZm9ybVZh
bHVlKCkKIHsKIH0KIAotU3RyaW5nIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpjc3NUZXh0KCkg
Y29uc3QKK1N0cmluZyBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNv
bnN0CiB7CiAgICAgU3RyaW5nIHJlc3VsdDsKICAgICBzd2l0Y2ggKG1fdHlwZSkgewpAQCAtMTEz
LDcgKzExMyw3IEBAIFN0cmluZyBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6Y3NzVGV4dCgpIGNv
bnN0CiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICByZXN1bHQgKz0gQ1NTVmFsdWVM
aXN0Ojpjc3NUZXh0KCk7CisgICAgcmVzdWx0ICs9IENTU1ZhbHVlTGlzdDo6Y3VzdG9tQ3NzVGV4
dCgpOwogCiAgICAgcmVzdWx0ICs9ICIpIjsKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaAppbmRleCBkN2NkNGNjLi44YTVl
NmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFs
dWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaApA
QCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5XZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZSgpOwogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0
cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CiAKICAgICBUcmFuc2Zvcm1PcGVyYXRpb25UeXBl
IG9wZXJhdGlvblR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdD
b2xvci5jcHAKaW5kZXggMDE2MzM3ZS4uMTA5MzUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0NvbG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29sb3IuY3Bw
CkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBTVkdDb2xvcjo6c2V0Q29sb3IodW5zaWduZWQgc2hv
cnQgY29sb3JUeXBlLCBjb25zdCBTdHJpbmcmIHJnYkNvbG9yLCBjb25zdAogICAgICAgICBzZXRS
R0JDb2xvcihyZ2JDb2xvciwgZWMpOwogfQogCi1TdHJpbmcgU1ZHQ29sb3I6OmNzc1RleHQoKSBj
b25zdAorU3RyaW5nIFNWR0NvbG9yOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHsKICAgICBzd2l0
Y2ggKG1fY29sb3JUeXBlKSB7CiAgICAgY2FzZSBTVkdfQ09MT1JUWVBFX1VOS05PV046CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29sb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdDb2xvci5oCmluZGV4IGRhZWQ4M2QuLjhlZjNlM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdDb2xvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDb2xvci5o
CkBAIC02OSwxMiArNjksMTMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UkdCQ29sb3JJQ0NDb2xv
cihjb25zdCBTdHJpbmcmIHJnYkNvbG9yLCBjb25zdCBTdHJpbmcmIGljY0NvbG9yLCBFeGNlcHRp
b25Db2RlJik7CiAgICAgdm9pZCBzZXRDb2xvcih1bnNpZ25lZCBzaG9ydCBjb2xvclR5cGUsIGNv
bnN0IFN0cmluZyYgcmdiQ29sb3IsIGNvbnN0IFN0cmluZyYgaWNjQ29sb3IsIEV4Y2VwdGlvbkNv
ZGUmKTsKIAorICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CisKIHByb3RlY3RlZDoK
ICAgICBmcmllbmQgY2xhc3MgQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOwogCiAgICAgU1ZH
Q29sb3IoQ2xhc3NUeXBlLCBjb25zdCBTVkdDb2xvclR5cGUmKTsKICAgICB2aXJ0dWFsIH5TVkdD
b2xvcigpIHsgfQotICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKIAogICAgIHZv
aWQgc2V0Q29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKSB7IG1fY29sb3IgPSBjb2xvcjsgfQogICAg
IHZvaWQgc2V0Q29sb3JUeXBlKGNvbnN0IFNWR0NvbG9yVHlwZSYgdHlwZSkgeyBtX2NvbG9yVHlw
ZSA9IHR5cGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuY3BwCmluZGV4IDg2M2NlNmEuLmU2ZWEyNTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhaW50LmNwcApAQCAtMTIzLDE0ICsxMjMsMTQgQEAgdm9pZCBTVkdQ
YWludDo6c2V0UGFpbnQodW5zaWduZWQgc2hvcnQgcGFpbnRUeXBlLCBjb25zdCBTdHJpbmcmIHVy
aSwgY29uc3QgU3RyaW4KICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7CiB9CiAKLVN0cmluZyBT
VkdQYWludDo6Y3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgU1ZHUGFpbnQ6OmN1c3RvbUNzc1RleHQo
KSBjb25zdAogewogICAgIHN3aXRjaCAobV9wYWludFR5cGUpIHsKICAgICBjYXNlIFNWR19QQUlO
VFRZUEVfVU5LTk9XTjoKICAgICBjYXNlIFNWR19QQUlOVFRZUEVfUkdCQ09MT1I6CiAgICAgY2Fz
ZSBTVkdfUEFJTlRUWVBFX1JHQkNPTE9SX0lDQ0NPTE9SOgogICAgIGNhc2UgU1ZHX1BBSU5UVFlQ
RV9DVVJSRU5UQ09MT1I6Ci0gICAgICAgIHJldHVybiBTVkdDb2xvcjo6Y3NzVGV4dCgpOworICAg
ICAgICByZXR1cm4gU1ZHQ29sb3I6OmN1c3RvbUNzc1RleHQoKTsKICAgICBjYXNlIFNWR19QQUlO
VFRZUEVfTk9ORToKICAgICAgICAgcmV0dXJuICJub25lIjsKICAgICBjYXNlIFNWR19QQUlOVFRZ
UEVfVVJJX05PTkU6CkBAIC0xMzgsNyArMTM4LDcgQEAgU3RyaW5nIFNWR1BhaW50Ojpjc3NUZXh0
KCkgY29uc3QKICAgICBjYXNlIFNWR19QQUlOVFRZUEVfVVJJX0NVUlJFTlRDT0xPUjoKICAgICBj
YXNlIFNWR19QQUlOVFRZUEVfVVJJX1JHQkNPTE9SOgogICAgIGNhc2UgU1ZHX1BBSU5UVFlQRV9V
UklfUkdCQ09MT1JfSUNDQ09MT1I6IHsKLSAgICAgICAgU3RyaW5nIGNvbG9yID0gU1ZHQ29sb3I6
OmNzc1RleHQoKTsKKyAgICAgICAgU3RyaW5nIGNvbG9yID0gU1ZHQ29sb3I6OmN1c3RvbUNzc1Rl
eHQoKTsKICAgICAgICAgaWYgKGNvbG9yLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBt
X3VyaTsKICAgICAgICAgcmV0dXJuIG1fdXJpICsgJyAnICsgY29sb3I7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYWlu
dC5oCmluZGV4IDYyMDc4NGQuLjg4YzVmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYWludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5oCkBAIC05Myw2
ICs5Myw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgbWF0Y2hlc1RhcmdldFVSSShjb25zdCBTdHJp
bmcmIHJlZmVyZW5jZUlkKTsKIAorICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CisK
IHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjsK
IApAQCAtMTA2LDggKzEwOCw2IEBAIHByaXZhdGU6CiBwcml2YXRlOgogICAgIFNWR1BhaW50KGNv
bnN0IFNWR1BhaW50VHlwZSYsIGNvbnN0IFN0cmluZyYgdXJpID0gU3RyaW5nKCkpOwogCi0gICAg
dmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OwotCiAgICAgU1ZHUGFpbnRUeXBlIG1fcGFp
bnRUeXBlOwogICAgIFN0cmluZyBtX3VyaTsKIH07Cg==
</data>
<flag name="review"
          id="112603"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>