<?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>25801</bug_id>
          
          <creation_ts>2009-05-14 12:55:58 -0700</creation_ts>
          <short_desc>change AccessibilityAria -&gt; AccessibilityARIA</short_desc>
          <delta_ts>2009-05-26 10:50:25 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>121360</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-05-14 12:55:58 -0700</bug_when>
    <thetext>to match webkit coding guidelines</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121407</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-05-14 16:41:02 -0700</bug_when>
    <thetext>*** Bug 25802 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121821</commentid>
    <comment_count>2</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-05-18 11:53:38 -0700</bug_when>
    <thetext>working on fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122428</commentid>
    <comment_count>3</comment_count>
      <attachid>30557</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-05-21 14:34:27 -0700</bug_when>
    <thetext>Created attachment 30557
patch

this patch renames AccessibilityAria* to AccessibilityARIA*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122527</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-05-21 20:45:09 -0700</bug_when>
    <thetext>Did you do these moves using &quot;svn mv&quot; so that history is tracked correctly?  rs=me if so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123147</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-05-26 10:50:25 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/44151</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30557</attachid>
            <date>2009-05-21 14:34:27 -0700</date>
            <delta_ts>2009-05-21 20:45:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>78273</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Mzk4MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDggQEAKKzIwMDktMDUtMjEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBCdWcgMjU4MDE6IGNoYW5nZSBBY2Nlc3NpYmlsaXR5QXJpYSAtPiBBY2Nlc3NpYmlsaXR5QVJJ
QQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4MDEK
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUub3JkZXI6Cisg
ICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFdlYkNvcmVTb3VyY2VzLmJrbDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVh
dGUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkLmNwcDog
Q29waWVkIGZyb20gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3JpZC5j
cHAuCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5QVJJQUdyaWQ6OkFjY2Vzc2liaWxp
dHlBUklBR3JpZCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5QVJJQUdyaWQ6On5B
Y2Nlc3NpYmlsaXR5QVJJQUdyaWQpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eUFS
SUFHcmlkOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eUFSSUFHcmlk
OjphZGRDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5QVJJQUdyaWQ6OmFk
ZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlBUklBR3JpZDo6Y2Vs
bEZvckNvbHVtbkFuZFJvdyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
QVJJQUdyaWQuaDogQ29waWVkIGZyb20gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlBcmlhR3JpZC5oLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFH
cmlkQ2VsbC5jcHA6IENvcGllZCBmcm9tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5QXJpYUdyaWRDZWxsLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlBUklB
R3JpZENlbGw6OkFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwpOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbDo6fkFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwpOgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGw6OnBhcmVudFRhYmxlKToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGw6OnJvd0luZGV4UmFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbDo6Y29sdW1u
SW5kZXhSYW5nZSk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdy
aWRDZWxsLmg6IENvcGllZCBmcm9tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
QXJpYUdyaWRDZWxsLmguCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJ
QUdyaWRSb3cuY3BwOiBDb3BpZWQgZnJvbSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eUFyaWFHcmlkUm93LmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlBUklB
R3JpZFJvdzo6QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93KToKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlBUklBR3JpZFJvdzo6fkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdyk6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3c6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3c6OnBhcmVudFRhYmxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdzo6aGVhZGVyT2JqZWN0KToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5oOiBDb3BpZWQg
ZnJvbSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93LmguCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWQuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFyaWFHcmlkLmg6IFJlbW92
ZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3Jp
ZENlbGwuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlB
cmlhR3JpZFJvdy5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5QXJpYUdyaWRSb3cuaDogUmVtb3ZlZC4KKwogMjAwOS0wNS0yMSAgRGF2aWQgTGV2aW4g
IDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVy
LgpJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCShyZXZpc2lvbiA0Mzk3MykKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0J
KHdvcmtpbmcgY29weSkKQEAgLTI1MSwxMiArMjUxLDEyIEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9XZWJDb3JlUHJlZml4LmggXAogICAgICAgICBXZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAgXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmggXAotCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWQuY3Bw
IFwKLQlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFyaWFHcmlkLmggXAotCVdl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsLmNwcCBcCi0JV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwuaCBcCi0JV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdy5jcHAgXAotCVdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3cuaCBcCisJV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAgXAorCVdlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCBcCisJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwIFwKKwlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oIFwKKwlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eUFSSUFHcmlkUm93LmNwcCBcCisJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlBUklBR3JpZFJvdy5oIFwKIAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eUltYWdlTWFwTGluay5jcHAgXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
SW1hZ2VNYXBMaW5rLmggXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlz
dC5jcHAgXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLm9yZGVyCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvV2ViQ29yZS5vcmRlcgkocmV2aXNpb24gNDM5NzMpCisrKyBXZWJDb3JlL1dlYkNvcmUub3Jk
ZXIJKHdvcmtpbmcgY29weSkKQEAgLTExMzMyLDkgKzExMzMyLDkgQEAgX19aTjdXZWJDb3JlMjVB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0MQogX19aTks3V2ViQ29yZTI1QWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDE1Y2FuSGF2ZUNoaWxkcmVuRXYKIF9fWk5LN1dlYkNvcmUyNUFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QxMGZpcnN0Q2hpbGRFdgogX19aTks3V2ViQ29yZTE5QWNjZXNzaWJpbGl0
eU9iamVjdDExaGFzQ2hpbGRyZW5FdgotX19aTjdXZWJDb3JlMjFBY2Nlc3NpYmlsaXR5QXJpYUdy
aWQ2Y3JlYXRlRVBOU18xMlJlbmRlck9iamVjdEUKLV9fWk43V2ViQ29yZTIxQWNjZXNzaWJpbGl0
eUFyaWFHcmlkQzFFUE5TXzEyUmVuZGVyT2JqZWN0RQotX19aTjdXZWJDb3JlMjFBY2Nlc3NpYmls
aXR5QXJpYUdyaWRDMkVQTlNfMTJSZW5kZXJPYmplY3RFCitfX1pON1dlYkNvcmUyMUFjY2Vzc2li
aWxpdHlBUklBR3JpZDZjcmVhdGVFUE5TXzEyUmVuZGVyT2JqZWN0RQorX19aTjdXZWJDb3JlMjFB
Y2Nlc3NpYmlsaXR5QVJJQUdyaWRDMUVQTlNfMTJSZW5kZXJPYmplY3RFCitfX1pON1dlYkNvcmUy
MUFjY2Vzc2liaWxpdHlBUklBR3JpZEMyRVBOU18xMlJlbmRlck9iamVjdEUKIF9fWk43V2ViQ29y
ZTE4QWNjZXNzaWJpbGl0eVRhYmxlQzJFUE5TXzEyUmVuZGVyT2JqZWN0RQogX19aTjdXZWJDb3Jl
MThBY2Nlc3NpYmlsaXR5VGFibGUzNmlzVGFibGVFeHBvc2FibGVUaHJvdWdoQWNjZXNzaWJpbGl0
eUV2CiBfX1pOSzdXZWJDb3JlMThBY2Nlc3NpYmlsaXR5VGFibGUyMmFjY2Vzc2liaWxpdHlJc0ln
bm9yZWRFdgpAQCAtMTEzNTQsMjQgKzExMzU0LDI0IEBAIF9fWk5LN1dlYkNvcmUxOEFjY2Vzc2li
aWxpdHlUYWJsZTlyb2xlVmEKIF9fWk5LN1dlYkNvcmUxOUFjY2Vzc2liaWxpdHlPYmplY3Q2aXNM
aXN0RXYKIC1bQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcm9sZURlc2NyaXB0aW9uXQogX19a
TjdXZWJDb3JlMThBY2Nlc3NpYmlsaXR5VGFibGUxM2NsZWFyQ2hpbGRyZW5FdgotX19aTjdXZWJD
b3JlMjFBY2Nlc3NpYmlsaXR5QXJpYUdyaWQxMWFkZENoaWxkcmVuRXYKLV9fWk43V2ViQ29yZTI0
QWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93NmNyZWF0ZUVQTlNfMTJSZW5kZXJPYmplY3RFCi1fX1pO
N1dlYkNvcmUyNEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvd0MxRVBOU18xMlJlbmRlck9iamVjdEUK
LV9fWk43V2ViQ29yZTI0QWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93QzJFUE5TXzEyUmVuZGVyT2Jq
ZWN0RQorX19aTjdXZWJDb3JlMjFBY2Nlc3NpYmlsaXR5QVJJQUdyaWQxMWFkZENoaWxkcmVuRXYK
K19fWk43V2ViQ29yZTI0QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93NmNyZWF0ZUVQTlNfMTJSZW5k
ZXJPYmplY3RFCitfX1pON1dlYkNvcmUyNEFjY2Vzc2liaWxpdHlBUklBR3JpZFJvd0MxRVBOU18x
MlJlbmRlck9iamVjdEUKK19fWk43V2ViQ29yZTI0QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93QzJF
UE5TXzEyUmVuZGVyT2JqZWN0RQogX19aTjdXZWJDb3JlMjFBY2Nlc3NpYmlsaXR5VGFibGVSb3dD
MkVQTlNfMTJSZW5kZXJPYmplY3RFCiBfX1pOSzdXZWJDb3JlMjFBY2Nlc3NpYmlsaXR5VGFibGVS
b3cyMmFjY2Vzc2liaWxpdHlJc0lnbm9yZWRFdgogX19aTks3V2ViQ29yZTIxQWNjZXNzaWJpbGl0
eVRhYmxlUm93MTBpc1RhYmxlUm93RXYKLV9fWk5LN1dlYkNvcmUyNEFjY2Vzc2liaWxpdHlBcmlh
R3JpZFJvdzExcGFyZW50VGFibGVFdgotX19aTjdXZWJDb3JlMjFBY2Nlc3NpYmlsaXR5QXJpYUdy
aWQ4YWRkQ2hpbGRFUE5TXzE5QWNjZXNzaWJpbGl0eU9iamVjdEVSTjNXVEY3SGFzaFNldElTMl9O
UzNfN1B0ckhhc2hJUzJfRUVOUzNfMTBIYXNoVHJhaXRzSVMyXworX19aTks3V2ViQ29yZTI0QWNj
ZXNzaWJpbGl0eUFSSUFHcmlkUm93MTFwYXJlbnRUYWJsZUV2CitfX1pON1dlYkNvcmUyMUFjY2Vz
c2liaWxpdHlBUklBR3JpZDhhZGRDaGlsZEVQTlNfMTlBY2Nlc3NpYmlsaXR5T2JqZWN0RVJOM1dU
RjdIYXNoU2V0SVMyX05TM183UHRySGFzaElTMl9FRU5TM18xMEhhc2hUcmFpdHNJUzJfCiBfX1pO
SzNXVEY5SGFzaFRhYmxlSVBON1dlYkNvcmUxOUFjY2Vzc2liaWxpdHlPYmplY3RFUzNfTlNfMTdJ
ZGVudGl0eUV4dHJhY3RvcklTM19FRU5TXzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMz
X0VFUzlfRThjCiBfX1pOSzdXZWJDb3JlMjFBY2Nlc3NpYmlsaXR5VGFibGVSb3c5cm9sZVZhbHVl
RXYKLV9fWk43V2ViQ29yZTI1QWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbDZjcmVhdGVFUE5TXzEy
UmVuZGVyT2JqZWN0RQotX19aTjdXZWJDb3JlMjVBY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsQzFF
UE5TXzEyUmVuZGVyT2JqZWN0RQotX19aTjdXZWJDb3JlMjVBY2Nlc3NpYmlsaXR5QXJpYUdyaWRD
ZWxsQzJFUE5TXzEyUmVuZGVyT2JqZWN0RQorX19aTjdXZWJDb3JlMjVBY2Nlc3NpYmlsaXR5QVJJ
QUdyaWRDZWxsNmNyZWF0ZUVQTlNfMTJSZW5kZXJPYmplY3RFCitfX1pON1dlYkNvcmUyNUFjY2Vz
c2liaWxpdHlBUklBR3JpZENlbGxDMUVQTlNfMTJSZW5kZXJPYmplY3RFCitfX1pON1dlYkNvcmUy
NUFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGxDMkVQTlNfMTJSZW5kZXJPYmplY3RFCiBfX1pON1dl
YkNvcmUyMkFjY2Vzc2liaWxpdHlUYWJsZUNlbGxDMkVQTlNfMTJSZW5kZXJPYmplY3RFCiBfX1pO
SzdXZWJDb3JlMjJBY2Nlc3NpYmlsaXR5VGFibGVDZWxsMjJhY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
RXYKIF9fWk5LN1dlYkNvcmUyMkFjY2Vzc2liaWxpdHlUYWJsZUNlbGwxMWlzVGFibGVDZWxsRXYK
LV9fWk5LN1dlYkNvcmUyNUFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwxMXBhcmVudFRhYmxlRXYK
K19fWk5LN1dlYkNvcmUyNUFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwxMXBhcmVudFRhYmxlRXYK
IF9fWk4zV1RGN0hhc2hTZXRJUE43V2ViQ29yZTE5QWNjZXNzaWJpbGl0eU9iamVjdEVOU183UHRy
SGFzaElTM19FRU5TXzEwSGFzaFRyYWl0c0lTM19FRUUzYWRkRVJLUzNfCiBfX1pOM1dURjlIYXNo
VGFibGVJUE43V2ViQ29yZTE5QWNjZXNzaWJpbGl0eU9iamVjdEVTM19OU18xN0lkZW50aXR5RXh0
cmFjdG9ySVMzX0VFTlNfN1B0ckhhc2hJUzNfRUVOU18xMEhhc2hUcmFpdHNJUzNfRUVTOV9FNmV4
CiBfX1pOM1dURjlIYXNoVGFibGVJUE43V2ViQ29yZTE5QWNjZXNzaWJpbGl0eU9iamVjdEVTM19O
U18xN0lkZW50aXR5RXh0cmFjdG9ySVMzX0VFTlNfN1B0ckhhc2hJUzNfRUVOU18xMEhhc2hUcmFp
dHNJUzNfRUVTOV9FNnJlCkBAIC0xMTQyMiwyMCArMTE0MjIsMjAgQEAgX19aTjdXZWJDb3JlMThB
Y2Nlc3NpYmlsaXR5VGFibGU1Y2VsbHNFUgogX19aTjNXVEY2VmVjdG9ySU5TXzZSZWZQdHJJTjdX
ZWJDb3JlMTlBY2Nlc3NpYmlsaXR5T2JqZWN0RUVFTG0wRUU2YXBwZW5kSVM0X0VFdlBLVF9tCiBf
X1pON1dlYkNvcmUxOEFjY2Vzc2liaWxpdHlUYWJsZTEzY29sdW1uSGVhZGVyc0VSTjNXVEY2VmVj
dG9ySU5TMV82UmVmUHRySU5TXzE5QWNjZXNzaWJpbGl0eU9iamVjdEVFRUxtMEVFRQogX19aTjdX
ZWJDb3JlMjRBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4xMmhlYWRlck9iamVjdEV2Ci1fX1pOSzdX
ZWJDb3JlMjFBY2Nlc3NpYmlsaXR5QXJpYUdyaWQxMWlzQXJpYVRhYmxlRXYKK19fWk5LN1dlYkNv
cmUyMUFjY2Vzc2liaWxpdHlBUklBR3JpZDExaXNBcmlhVGFibGVFdgogX19aTjdXZWJDb3JlMjRB
Y2Nlc3NpYmlsaXR5VGFibGVDb2x1bW44Y2hpbGRyZW5FdgogX19aTjdXZWJDb3JlMjRBY2Nlc3Np
YmlsaXR5VGFibGVDb2x1bW4xMWFkZENoaWxkcmVuRXYKIF9fWk43V2ViQ29yZTE4QWNjZXNzaWJp
bGl0eVRhYmxlOHJvd0NvdW50RXYKLV9fWk43V2ViQ29yZTIxQWNjZXNzaWJpbGl0eUFyaWFHcmlk
MTljZWxsRm9yQ29sdW1uQW5kUm93RWpqCitfX1pON1dlYkNvcmUyMUFjY2Vzc2liaWxpdHlBUklB
R3JpZDE5Y2VsbEZvckNvbHVtbkFuZFJvd0VqagogX19aTjdXZWJDb3JlMThBY2Nlc3NpYmlsaXR5
VGFibGUxMWNvbHVtbkNvdW50RXYKIF9fWk5LN1dlYkNvcmUyMkFjY2Vzc2liaWxpdHlUYWJsZUNl
bGw5cm9sZVZhbHVlRXYKIF9fWk43V2ViQ29yZTE4QWNjZXNzaWJpbGl0eVRhYmxlMTByb3dIZWFk
ZXJzRVJOM1dURjZWZWN0b3JJTlMxXzZSZWZQdHJJTlNfMTlBY2Nlc3NpYmlsaXR5T2JqZWN0RUVF
TG0wRUVFCi1fX1pON1dlYkNvcmUyNEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdzEyaGVhZGVyT2Jq
ZWN0RXYKK19fWk43V2ViQ29yZTI0QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93MTJoZWFkZXJPYmpl
Y3RFdgogX19aTks3V2ViQ29yZTE2SFRNTFRhYmxlRWxlbWVudDdjYXB0aW9uRXYKIC1bQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOmZvclBhcmFt
ZXRlcjpdCiBfX1pOSzdXZWJDb3JlMTlBY2Nlc3NpYmlsaXR5T2JqZWN0MTFpc0RhdGFUYWJsZUV2
Ci1fX1pON1dlYkNvcmUyNUFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwxM3Jvd0luZGV4UmFuZ2VF
UlN0NHBhaXJJaWlFCi1fX1pON1dlYkNvcmUyNUFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwxNmNv
bHVtbkluZGV4UmFuZ2VFUlN0NHBhaXJJaWlFCitfX1pON1dlYkNvcmUyNUFjY2Vzc2liaWxpdHlB
UklBR3JpZENlbGwxM3Jvd0luZGV4UmFuZ2VFUlN0NHBhaXJJaWlFCitfX1pON1dlYkNvcmUyNUFj
Y2Vzc2liaWxpdHlBUklBR3JpZENlbGwxNmNvbHVtbkluZGV4UmFuZ2VFUlN0NHBhaXJJaWlFCiBf
X1pON1dlYkNvcmUxOUFjY2Vzc2liaWxpdHlPYmplY3QxOHVwZGF0ZUJhY2tpbmdTdG9yZUV2CiBf
X1pOSzdXZWJDb3JlMTlBY2Nlc3NpYmlsaXR5T2JqZWN0MTVpc1Bhc3N3b3JkRmllbGRFdgogX19a
Tks3V2ViQ29yZTE5QWNjZXNzaWJpbGl0eU9iamVjdDlpc1dlYkFyZWFFdgpAQCAtMTE0NzcsMTMg
KzExNDc3LDEzIEBAIF9fWk5LN1dlYkNvcmUzM0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckMKIF9f
Wk5LN1dlYkNvcmUzM0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lcjRzaXplRXYKIF9f
Wk5LN1dlYkNvcmUzM0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lcjExZWxlbWVudFJl
Y3RFdgogX19aTjdXZWJDb3JlMjJqc0hUTUxFbGVtZW50SW5uZXJUZXh0RVBOM0pTQzlFeGVjU3Rh
dGVFUktOUzBfMTBJZGVudGlmaWVyRVJLTlMwXzEyUHJvcGVydHlTbG90RQotX19aTjdXZWJDb3Jl
MjFBY2Nlc3NpYmlsaXR5QXJpYUdyaWREMEV2CitfX1pON1dlYkNvcmUyMUFjY2Vzc2liaWxpdHlB
UklBR3JpZEQwRXYKIF9fWk43V2ViQ29yZTE4QWNjZXNzaWJpbGl0eVRhYmxlRDJFdgogX19aTjdX
ZWJDb3JlMjVBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0RDJFdgotX19aTjdXZWJDb3JlMjRBY2Nl
c3NpYmlsaXR5QXJpYUdyaWRSb3dEMEV2CitfX1pON1dlYkNvcmUyNEFjY2Vzc2liaWxpdHlBUklB
R3JpZFJvd0QwRXYKIF9fWk43V2ViQ29yZTIxQWNjZXNzaWJpbGl0eVRhYmxlUm93RDJFdgogX19a
TjdXZWJDb3JlMjRBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW5EMEV2Ci1fX1pON1dlYkNvcmUyNUFj
Y2Vzc2liaWxpdHlBcmlhR3JpZENlbGxEMEV2CitfX1pON1dlYkNvcmUyNUFjY2Vzc2liaWxpdHlB
UklBR3JpZENlbGxEMEV2CiBfX1pON1dlYkNvcmUyMkFjY2Vzc2liaWxpdHlUYWJsZUNlbGxEMkV2
CiBfX1pON1dlYkNvcmUzM0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lckQwRXYKIF9f
Wk43V2ViQ29yZUwxN2NhbnZhc0NvbnN0cnVjdG9yRVJLTlNfMTNRdWFsaWZpZWROYW1lRVBOU184
RG9jdW1lbnRFUE5TXzE1SFRNTEZvcm1FbGVtZW50RWIKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5w
cm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNDM5NzMpCisr
KyBXZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC00MDcsOSArNDA3LDkgQEAg
U09VUkNFUyArPSBcCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJveC5jcHAg
XCAgICAKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmNwcCBc
ICAgIAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgXCAg
ICAKLSAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3JpZC5jcHAgXCAgICAKLSAg
ICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwuY3BwIFwgICAgCi0gICAg
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3cuY3BwIFwgICAgCisgICAgYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwIFwgICAgCisgICAgYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmNwcCBcICAgIAorICAgIGFjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmNwcCBcICAgIAogICAgIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlLmNwcCBcICAgIAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVRhYmxlQ2VsbC5jcHAgXCAgICAKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlU
YWJsZUNvbHVtbi5jcHAgXCAgICAKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZVNvdXJjZXMuYmtsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZVNvdXJjZXMuYmtsCShyZXZpc2lvbiA0Mzk3MykK
KysrIFdlYkNvcmUvV2ViQ29yZVNvdXJjZXMuYmtsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw5ICsz
Myw5IEBAIFRoaXMgZmlsZSBjb250YWlucyB0aGUgbGlzdCBvZiBmaWxlcyBuZWUKIAogPG1ha2Vm
aWxlPgogICAgIDxzZXQgYXBwZW5kPSIxIiB2YXI9IldFQkNPUkVfU09VUkNFU19BQ0NFU1NJQklM
SVRZIj4KLSAgICAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWQuY3BwCi0g
ICAgICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbC5jcHAKLSAgICAg
ICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3cuY3BwCisgICAgICAgIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkLmNwcAorICAgICAgICBhY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwCisgICAgICAgIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmNwcAogICAgICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlJbWFnZU1hcExpbmsuY3BwCiAgICAgICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5jcHAKICAgICAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdC5j
cHAKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNDM5
NzMpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0xODIwLDI3ICsxODIwLDI3IEBACiAJCQlOYW1lPSJhY2Nlc3NpYmlsaXR5Ig0KIAkJ
CT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGFjY2Vzc2liaWxpdHlcQWNjZXNz
aWJpbGl0eUFyaWFHcmlkLmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5
XEFjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XEFjY2Vzc2liaWxpdHlBcmlh
R3JpZC5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGFjY2Vzc2liaWxpdHlcQWNjZXNzaWJpbGl0
eUFSSUFHcmlkLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRp
dmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwuY3BwIg0K
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGFjY2Vzc2liaWxpdHlcQWNjZXNzaWJpbGl0eUFSSUFHcmlk
Q2VsbC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlxhY2Nlc3NpYmlsaXR5XEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwuaCINCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwu
aCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGFjY2Vzc2liaWxpdHlcQWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93LmNwcCINCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XEFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5jcHAiDQog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxhY2Nl
c3NpYmlsaXR5XEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdy5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGFjY2Vzc2liaWxpdHlcQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gNDM5NzMpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNTEwLDE5ICs1MTAsMTkgQEAK
IAkJMUNGQUUzMjMwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgaW4gRnJhbWV3b3Jr
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZBRTMyMjBBNkQ2QTNGMDAz
MjU5M0QgLyogbGlib2JqYy5keWxpYiAqLzsgfTsKIAkJMjlBODEyMjYwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBODEyMDgwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwICovOyB9OwogCQkyOUE4MTIyNzBGQkI5QzFEMDA1MTAy
OTMgLyogQWNjZXNzaWJpbGl0eVRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjA5MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmls
aXR5VGFibGUuY3BwICovOyB9OwotCQkyOUE4MTIyODBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNz
aWJpbGl0eUFyaWFHcmlkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI5QTgxMjBBMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QXJpYUdy
aWQuY3BwICovOyB9OworCQkyOUE4MTIyODBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0
eUFSSUFHcmlkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI5QTgxMjBBMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3Bw
ICovOyB9OwogCQkyOUE4MTIyOTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxl
Um93LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5
QTgxMjBCMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwICovOyB9
OwogCQkyOUE4MTIyQTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTIw
QzBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5jcHAgKi87IH07CiAJ
CTI5QTgxMjJCMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjBEMEZCQjlDMUQw
MDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGUuaCAqLzsgfTsKIAkJMjlBODEyMkMwRkJCOUMx
RDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTIwRTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNz
aWJpbGl0eUxpc3QuaCAqLzsgfTsKLQkJMjlBODEyMkQwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vz
c2liaWxpdHlBcmlhR3JpZFJvdy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOUE4MTIwRjBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUFy
aWFHcmlkUm93LmNwcCAqLzsgfTsKLQkJMjlBODEyMkUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vz
c2liaWxpdHlBcmlhR3JpZENlbGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI5QTgxMjEwMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QXJp
YUdyaWRDZWxsLmggKi87IH07CisJCTI5QTgxMjJEMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3Np
YmlsaXR5QVJJQUdyaWRSb3cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjlBODEyMEYwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBUklB
R3JpZFJvdy5jcHAgKi87IH07CisJCTI5QTgxMjJFMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3Np
YmlsaXR5QVJJQUdyaWRDZWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyOUE4MTIxMDBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUFSSUFH
cmlkQ2VsbC5oICovOyB9OwogCQkyOUE4MTIyRjBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJp
bGl0eUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjlBODEyMTEwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlMaXN0LmNwcCAqLzsg
fTsKLQkJMjlBODEyMzAwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBcmlhR3JpZENl
bGwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlB
ODEyMTIwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwuY3BwICov
OyB9OworCQkyOUE4MTIzMDBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlk
Q2VsbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
OUE4MTIxMjBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5jcHAg
Ki87IH07CiAJCTI5QTgxMjMxMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVS
b3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgx
MjEzMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCAqLzsgfTsKIAkJ
MjlBODEyMzIwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjE0MEZCQjlD
MUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmggKi87IH07Ci0JCTI5QTgxMjMz
MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3cuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjE1MEZCQjlDMUQwMDUx
MDI5MyAvKiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3cuaCAqLzsgfTsKLQkJMjlBODEyMzQwRkJC
OUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBcmlhR3JpZC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBODEyMTYwRkJCOUMxRDAwNTEwMjkzIC8q
IEFjY2Vzc2liaWxpdHlBcmlhR3JpZC5oICovOyB9OworCQkyOUE4MTIzMzBGQkI5QzFEMDA1MTAy
OTMgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTIxNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNz
aWJpbGl0eUFSSUFHcmlkUm93LmggKi87IH07CisJCTI5QTgxMjM0MEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QTgxMjE2MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5
QVJJQUdyaWQuaCAqLzsgfTsKIAkJMjlBODEyMzUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2li
aWxpdHlUYWJsZUNvbHVtbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyOUE4MTIxNzBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxl
Q29sdW1uLmNwcCAqLzsgfTsKIAkJMjlBODEyMzYwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2li
aWxpdHlPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI5QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjlBODEyMzcw
RkJCOUMxRDAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBODEyMTkwRkJCOUMxRDAwNTEwMjkzIC8qIEFY
T2JqZWN0Q2FjaGUuY3BwICovOyB9OwpAQCAtNTQyOSwxOSArNTQyOSwxOSBAQAogCQkxQ0ZBRTMy
MjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1l
ID0gbGlib2JqYy5keWxpYjsgcGF0aCA9IC91c3IvbGliL2xpYm9iamMuZHlsaWI7IHNvdXJjZVRy
ZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCTI5QTgxMjA4MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyOUE4MTIwOTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlU
YWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTI5QTgxMjBBMEZCQjlDMUQw
MDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eUFyaWFHcmlkLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMjlBODEyMEEwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxp
dHlBUklBR3JpZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nl
c3NpYmlsaXR5QVJJQUdyaWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUE4
MTIwQjBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxlUm93LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QTgxMjBDMEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyOUE4MTIwRDBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlUYWJsZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUE4MTIwRTBGQkI5QzFEMDA1MTAyOTMg
LyogQWNjZXNzaWJpbGl0eUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QWNjZXNzaWJpbGl0eUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjlBODEy
MEYwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3cu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkyOUE4MTIxMDBGQkI5QzFEMDA1MTAy
OTMgLyogQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTI5QTgxMjBGMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QVJJ
QUdyaWRSb3cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNz
aWJpbGl0eUFSSUFHcmlkUm93LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlB
ODEyMTAwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUE4MTIxMTBGQkI5QzFEMDA1MTAyOTMg
LyogQWNjZXNzaWJpbGl0eUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQWNjZXNzaWJpbGl0eUxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkyOUE4MTIxMjBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXJp
YUdyaWRDZWxsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBODEyMTIwRkJC
OUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QTgxMjEzMEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eVRhYmxlUm93Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5QTgxMjE0MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjlBODEyMTUwRkJCOUMxRDAwNTEwMjkzIC8q
IEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3cuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMjlBODEyMTYwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBcmlhR3JpZC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QXJpYUdyaWQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlBODEyMTUwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMjlBODEyMTYwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBUklBR3Jp
ZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5QVJJQUdy
aWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBODEyMTcwRkJCOUMxRDAwNTEw
MjkzIC8qIEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyOUE4MTIxODBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJp
bGl0eU9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmls
aXR5T2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QTgxMjE5MEZCQjlD
MUQwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtOTc5NSwxMiArOTc5NSwxMiBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKIAkJCQkyOUE4MTIwNTBGQkI5QjUyMDA1MTAyOTMgLyogbWFjICovLAotCQkJCTI5QTgx
MjBBMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWQuY3BwICovLAotCQkJ
CTI5QTgxMjE2MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWQuaCAqLywK
LQkJCQkyOUE4MTIxMjBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2Vs
bC5jcHAgKi8sCi0JCQkJMjlBODEyMTAwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlB
cmlhR3JpZENlbGwuaCAqLywKLQkJCQkyOUE4MTIwRjBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNz
aWJpbGl0eUFyaWFHcmlkUm93LmNwcCAqLywKLQkJCQkyOUE4MTIxNTBGQkI5QzFEMDA1MTAyOTMg
LyogQWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93LmggKi8sCisJCQkJMjlBODEyMEEwRkJCOUMxRDAw
NTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAgKi8sCisJCQkJMjlBODEyMTYwRkJC
OUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZC5oICovLAorCQkJCTI5QTgxMjEy
MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmNwcCAqLywKKwkJ
CQkyOUE4MTIxMDBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5o
ICovLAorCQkJCTI5QTgxMjBGMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdy
aWRSb3cuY3BwICovLAorCQkJCTI5QTgxMjE1MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmls
aXR5QVJJQUdyaWRSb3cuaCAqLywKIAkJCQkyOUE4MTIxQzBGQkI5QzFEMDA1MTAyOTMgLyogQWNj
ZXNzaWJpbGl0eUltYWdlTWFwTGluay5jcHAgKi8sCiAJCQkJMjlBODEyMUQwRkJCOUMxRDAwNTEw
MjkzIC8qIEFjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuaCAqLywKIAkJCQkyOUE4MTIxMTBGQkI5
QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3QuY3BwICovLApAQCAtMTY5MzEsMTEgKzE2
OTMxLDExIEBACiAJCQkJOTMzMDlFMUUwOTlFNjQ5MjAwNTZFNTgxIC8qIHZpc2libGVfdW5pdHMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjJCMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3Np
YmlsaXR5VGFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjJDMEZCQjlDMUQwMDUxMDI5
MyAvKiBBY2Nlc3NpYmlsaXR5TGlzdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMjlBODEyMkUwRkJC
OUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwuaCBpbiBIZWFkZXJzICov
LAorCQkJCTI5QTgxMjJFMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRD
ZWxsLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOUE4MTIzMTBGQkI5QzFEMDA1MTAyOTMgLyogQWNj
ZXNzaWJpbGl0eVRhYmxlUm93LmggaW4gSGVhZGVycyAqLywKIAkJCQkyOUE4MTIzMjBGQkI5QzFE
MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
MjlBODEyMzMwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdy5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJMjlBODEyMzQwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxp
dHlBcmlhR3JpZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBODEyMzMwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlBODEy
MzQwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjlBODEyMzYwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjM4MEZCQjlDMUQwMDUxMDI5MyAvKiBBWE9iamVj
dENhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOUE4MTIzOTBGQkI5QzFEMDA1MTAyOTMgLyog
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xODk0OSwxMiAr
MTg5NDksMTIgQEAKIAkJCQk5MzMwOUUxRDA5OUU2NDkyMDA1NkU1ODEgLyogdmlzaWJsZV91bml0
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOUE4MTIyNjBGQkI5QzFEMDA1MTAyOTMgLyogQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOUE4MTIyNzBG
QkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTI5QTgxMjI4MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMjlBODEyMjgwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2li
aWxpdHlBUklBR3JpZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOUE4MTIyOTBGQkI5QzFEMDA1
MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxlUm93LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5
QTgxMjJBMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTI5QTgxMjJEMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5
QXJpYUdyaWRSb3cuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMjlBODEyMkQwRkJCOUMxRDAwNTEw
MjkzIC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
OUE4MTIyRjBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJMjlBODEyMzAwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBcmlh
R3JpZENlbGwuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMjlBODEyMzAwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlB
ODEyMzUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyOUE4MTIzNzBGQkI5QzFEMDA1MTAyOTMgLyogQVhPYmplY3RDYWNo
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOUE4MTIzQTBGQkI5QzFEMDA1MTAyOTMgLyogQWNj
ZXNzaWJpbGl0eUltYWdlTWFwTGluay5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAJKHJldmlzaW9uIDQzOTczKQorKysgV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw5
ICsyOSw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5o
IgogCi0jaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFyaWFHcmlkLmgiCi0jaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eUFyaWFHcmlkUm93LmgiCi0jaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2Vs
bC5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZC5oIgorI2luY2x1ZGUgIkFjY2Vz
c2liaWxpdHlBUklBR3JpZFJvdy5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZENl
bGwuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5TGlzdC5oIgogI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlMaXN0Qm94LmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24uaCIK
QEAgLTEwNSwxMSArMTA1LDExIEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6
OmdldE8KICAgICAgICAgCiAgICAgICAgIC8vIGFyaWEgdGFibGVzCiAgICAgICAgIGVsc2UgaWYg
KG5vZGVJc0FyaWFUeXBlKG5vZGUsICJncmlkIikpCi0gICAgICAgICAgICBuZXdPYmogPSBBY2Nl
c3NpYmlsaXR5QXJpYUdyaWQ6OmNyZWF0ZShyZW5kZXJlcik7CisgICAgICAgICAgICBuZXdPYmog
PSBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQ6OmNyZWF0ZShyZW5kZXJlcik7CiAgICAgICAgIGVsc2Ug
aWYgKG5vZGVJc0FyaWFUeXBlKG5vZGUsICJyb3ciKSkKLSAgICAgICAgICAgIG5ld09iaiA9IEFj
Y2Vzc2liaWxpdHlBcmlhR3JpZFJvdzo6Y3JlYXRlKHJlbmRlcmVyKTsKKyAgICAgICAgICAgIG5l
d09iaiA9IEFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdzo6Y3JlYXRlKHJlbmRlcmVyKTsKICAgICAg
ICAgZWxzZSBpZiAobm9kZUlzQXJpYVR5cGUobm9kZSwgImdyaWRjZWxsIikgfHwgbm9kZUlzQXJp
YVR5cGUobm9kZSwgImNvbHVtbmhlYWRlciIpIHx8IG5vZGVJc0FyaWFUeXBlKG5vZGUsICJyb3do
ZWFkZXIiKSkKLSAgICAgICAgICAgIG5ld09iaiA9IEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGw6
OmNyZWF0ZShyZW5kZXJlcik7CisgICAgICAgICAgICBuZXdPYmogPSBBY2Nlc3NpYmlsaXR5QVJJ
QUdyaWRDZWxsOjpjcmVhdGUocmVuZGVyZXIpOwogCiAgICAgICAgIC8vIHN0YW5kYXJkIHRhYmxl
cwogICAgICAgICBlbHNlIGlmIChyZW5kZXJlci0+aXNUYWJsZSgpKQpJbmRleDogV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAJKHJldmlzaW9uIDQz
OTczKQkoZnJvbSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFyaWFHcmlkLmNw
cDo0Mzk3MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTU0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUi
KSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFyaWFHcmlkLmgiCisKKyNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5VGFibGVDZWxsLmgiCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmgi
CisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFpbmVyLmgiCisjaW5jbHVk
ZSAiQWNjZXNzaWJpbGl0eVRhYmxlUm93LmgiCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgor
I2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0FjY2Vzc2liaWxpdHlBcmlhR3JpZDo6QWNjZXNzaWJpbGl0eUFy
aWFHcmlkKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCisgICAgOiBBY2Nlc3NpYmlsaXR5VGFibGUo
cmVuZGVyZXIpCit7CisjaWYgQUNDRVNTSUJJTElUWV9UQUJMRVMKKyAgICBtX2lzQWNjZXNzaWJp
bGl0eVRhYmxlID0gdHJ1ZTsKKyNlbHNlCisgICAgbV9pc0FjY2Vzc2liaWxpdHlUYWJsZSA9IGZh
bHNlOworI2VuZGlmCit9CisKK0FjY2Vzc2liaWxpdHlBcmlhR3JpZDo6fkFjY2Vzc2liaWxpdHlB
cmlhR3JpZCgpCit7Cit9CisKK1Bhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eUFyaWFHcmlkPiBBY2Nl
c3NpYmlsaXR5QXJpYUdyaWQ6OmNyZWF0ZShSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAg
IHJldHVybiBhZG9wdFJlZihuZXcgQWNjZXNzaWJpbGl0eUFyaWFHcmlkKHJlbmRlcmVyKSk7Cit9
CisKK3ZvaWQgQWNjZXNzaWJpbGl0eUFyaWFHcmlkOjphZGRDaGlsZChBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBjaGlsZCwgSGFzaFNldDxBY2Nlc3NpYmlsaXR5T2JqZWN0Kj4mIGFwcGVuZGVkUm93cywg
dW5zaWduZWQmIGNvbHVtbkNvdW50KQoreworICAgIGlmICghY2hpbGQgfHwgIWNoaWxkLT5pc1Rh
YmxlUm93KCkgfHwgY2hpbGQtPmFyaWFSb2xlQXR0cmlidXRlKCkgIT0gUm93Um9sZSkKKyAgICAg
ICAgcmV0dXJuOworICAgICAgICAKKyAgICBBY2Nlc3NpYmlsaXR5VGFibGVSb3cqIHJvdyA9IHN0
YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlUYWJsZVJvdyo+KGNoaWxkKTsKKyAgICBpZiAoYXBwZW5k
ZWRSb3dzLmNvbnRhaW5zKHJvdykpCisgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgLy8g
c3RvcmUgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbHVtbnMKKyAgICB1bnNpZ25lZCByb3dDZWxs
Q291bnQgPSByb3ctPmNoaWxkcmVuKCkuc2l6ZSgpOworICAgIGlmIChyb3dDZWxsQ291bnQgPiBj
b2x1bW5Db3VudCkKKyAgICAgICAgY29sdW1uQ291bnQgPSByb3dDZWxsQ291bnQ7CisgICAgCisg
ICAgcm93LT5zZXRSb3dJbmRleCgoaW50KW1fcm93cy5zaXplKCkpOyAgICAgICAgCisgICAgbV9y
b3dzLmFwcGVuZChyb3cpOworICAgIG1fY2hpbGRyZW4uYXBwZW5kKHJvdyk7CisgICAgYXBwZW5k
ZWRSb3dzLmFkZChyb3cpOworfQorICAgIAordm9pZCBBY2Nlc3NpYmlsaXR5QXJpYUdyaWQ6OmFk
ZENoaWxkcmVuKCkKK3sKKyAgICBBU1NFUlQoIW1faGF2ZUNoaWxkcmVuKTsgCisgICAgCisgICAg
aWYgKCFpc0RhdGFUYWJsZSgpKSB7CisgICAgICAgIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OmFkZENoaWxkcmVuKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgbV9oYXZl
Q2hpbGRyZW4gPSB0cnVlOworICAgIGlmICghbV9yZW5kZXJlcikKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIEFYT2JqZWN0Q2FjaGUqIGF4Q2FjaGUgPSBtX3JlbmRlcmVyLT5kb2N1bWVudCgp
LT5heE9iamVjdENhY2hlKCk7CisgICAgCisgICAgLy8gYWRkIG9ubHkgcm93cyB0aGF0IGFyZSBs
YWJlbGVkIGFzIGFyaWEgcm93cworICAgIEhhc2hTZXQ8QWNjZXNzaWJpbGl0eU9iamVjdCo+IGFw
cGVuZGVkUm93czsKKyAgICB1bnNpZ25lZCBjb2x1bW5Db3VudCA9IDA7CisgICAgZm9yIChSZWZQ
dHI8QWNjZXNzaWJpbGl0eU9iamVjdD4gY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGls
ZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7CisKKyAgICAgICAgLy8gaW4gY2FzZSB0aGUgcmVu
ZGVyIHRyZWUgZG9lc24ndCBtYXRjaCB0aGUgZXhwZWN0ZWQgQVJJQSBoaWVyYXJjaHksIGxvb2sg
YXQgdGhlIGNoaWxkcmVuCisgICAgICAgIGlmIChjaGlsZC0+YWNjZXNzaWJpbGl0eUlzSWdub3Jl
ZCgpKSB7CisgICAgICAgICAgICBpZiAoIWNoaWxkLT5oYXNDaGlsZHJlbigpKQorICAgICAgICAg
ICAgICAgIGNoaWxkLT5hZGRDaGlsZHJlbigpOworICAgICAgICAgICAgCisgICAgICAgICAgICBB
Y2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgY2hpbGRyZW4gPSBjaGlsZC0+Y2hpbGRyZW4oKTsK
KyAgICAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IGNoaWxkcmVuLnNpemUoKTsKKyAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAg
ICBhZGRDaGlsZChjaGlsZHJlbltpXS5nZXQoKSwgYXBwZW5kZWRSb3dzLCBjb2x1bW5Db3VudCk7
CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgYWRkQ2hpbGQoY2hpbGQuZ2V0KCksIGFwcGVu
ZGVkUm93cywgY29sdW1uQ291bnQpOyAgICAgICAgICAgIAorICAgIH0KKyAgICAKKyAgICAvLyBt
YWtlIHRoZSBjb2x1bW5zIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZmly
c3QgYm9keQorICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjb2x1bW5Db3VudDsgKytpKSB7
CisgICAgICAgIEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbiogY29sdW1uID0gc3RhdGljX2Nhc3Q8
QWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uKj4oYXhDYWNoZS0+Z2V0T3JDcmVhdGUoQ29sdW1uUm9s
ZSkpOworICAgICAgICBjb2x1bW4tPnNldENvbHVtbkluZGV4KChpbnQpaSk7CisgICAgICAgIGNv
bHVtbi0+c2V0UGFyZW50VGFibGUodGhpcyk7CisgICAgICAgIG1fY29sdW1ucy5hcHBlbmQoY29s
dW1uKTsKKyAgICAgICAgbV9jaGlsZHJlbi5hcHBlbmQoY29sdW1uKTsKKyAgICB9CisgICAgCisg
ICAgQWNjZXNzaWJpbGl0eU9iamVjdCogaGVhZGVyQ29udGFpbmVyT2JqZWN0ID0gaGVhZGVyQ29u
dGFpbmVyKCk7CisgICAgaWYgKGhlYWRlckNvbnRhaW5lck9iamVjdCkKKyAgICAgICAgbV9jaGls
ZHJlbi5hcHBlbmQoaGVhZGVyQ29udGFpbmVyT2JqZWN0KTsKK30KKyAgICAKK0FjY2Vzc2liaWxp
dHlUYWJsZUNlbGwqIEFjY2Vzc2liaWxpdHlBcmlhR3JpZDo6Y2VsbEZvckNvbHVtbkFuZFJvdyh1
bnNpZ25lZCBjb2x1bW4sIHVuc2lnbmVkIHJvdykKK3sKKyAgICBpZiAoIW1fcmVuZGVyZXIpCisg
ICAgICAgIHJldHVybiAwOworICAgIAorICAgIGlmICghaGFzQ2hpbGRyZW4oKSkKKyAgICAgICAg
YWRkQ2hpbGRyZW4oKTsKKyAgICAKKyAgICBpZiAoY29sdW1uID49IGNvbHVtbkNvdW50KCkgfHwg
cm93ID49IHJvd0NvdW50KCkpCisgICAgICAgIHJldHVybiAwOworICAgIAorICAgIEFjY2Vzc2li
aWxpdHlPYmplY3QgKnRhYmxlUm93ID0gbV9yb3dzW3Jvd10uZ2V0KCk7CisgICAgaWYgKCF0YWJs
ZVJvdykKKyAgICAgICAgcmV0dXJuIDA7CisgICAgCisgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVu
VmVjdG9yIGNoaWxkcmVuID0gdGFibGVSb3ctPmNoaWxkcmVuKCk7CisgICAgLy8gaW4gY2FzZSB0
aGlzIHJvdyBoYWQgZmV3ZXIgY29sdW1ucyB0aGFuIG90aGVyIHJvd3MKKyAgICBBY2Nlc3NpYmls
aXR5T2JqZWN0KiB0YWJsZUNlbGwgPSAwOworICAgIGlmIChjb2x1bW4gPj0gY2hpbGRyZW4uc2l6
ZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHRhYmxlQ2VsbCA9IGNoaWxkcmVuW2NvbHVt
bl0uZ2V0KCk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwq
Pih0YWJsZUNlbGwpOworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZC5jcHAJKHJldmlz
aW9uIDQzOTczKQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3Jp
ZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICAqLwogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFyaWFHcmlkLmgiCisjaW5jbHVkZSAi
QWNjZXNzaWJpbGl0eUFSSUFHcmlkLmgiCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VGFibGVD
ZWxsLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmgiCkBAIC00MCw3ICs0
MCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQWNj
ZXNzaWJpbGl0eUFyaWFHcmlkOjpBY2Nlc3NpYmlsaXR5QXJpYUdyaWQoUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlcikKK0FjY2Vzc2liaWxpdHlBUklBR3JpZDo6QWNjZXNzaWJpbGl0eUFSSUFHcmlkKFJl
bmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgOiBBY2Nlc3NpYmlsaXR5VGFibGUocmVuZGVyZXIp
CiB7CiAjaWYgQUNDRVNTSUJJTElUWV9UQUJMRVMKQEAgLTUwLDE2ICs1MCwxNiBAQCBBY2Nlc3Np
YmlsaXR5QXJpYUdyaWQ6OkFjY2Vzc2liaWxpdHlBcmlhCiAjZW5kaWYKIH0KIAotQWNjZXNzaWJp
bGl0eUFyaWFHcmlkOjp+QWNjZXNzaWJpbGl0eUFyaWFHcmlkKCkKK0FjY2Vzc2liaWxpdHlBUklB
R3JpZDo6fkFjY2Vzc2liaWxpdHlBUklBR3JpZCgpCiB7CiB9CiAKLVBhc3NSZWZQdHI8QWNjZXNz
aWJpbGl0eUFyaWFHcmlkPiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWQ6OmNyZWF0ZShSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyKQorUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5QVJJQUdyaWQ+IEFjY2Vzc2li
aWxpdHlBUklBR3JpZDo6Y3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBBY2Nlc3NpYmlsaXR5QXJpYUdyaWQocmVuZGVyZXIpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlBUklBR3JpZChyZW5kZXJlcikpOwogfQog
Ci12b2lkIEFjY2Vzc2liaWxpdHlBcmlhR3JpZDo6YWRkQ2hpbGQoQWNjZXNzaWJpbGl0eU9iamVj
dCogY2hpbGQsIEhhc2hTZXQ8QWNjZXNzaWJpbGl0eU9iamVjdCo+JiBhcHBlbmRlZFJvd3MsIHVu
c2lnbmVkJiBjb2x1bW5Db3VudCkKK3ZvaWQgQWNjZXNzaWJpbGl0eUFSSUFHcmlkOjphZGRDaGls
ZChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjaGlsZCwgSGFzaFNldDxBY2Nlc3NpYmlsaXR5T2JqZWN0
Kj4mIGFwcGVuZGVkUm93cywgdW5zaWduZWQmIGNvbHVtbkNvdW50KQogewogICAgIGlmICghY2hp
bGQgfHwgIWNoaWxkLT5pc1RhYmxlUm93KCkgfHwgY2hpbGQtPmFyaWFSb2xlQXR0cmlidXRlKCkg
IT0gUm93Um9sZSkKICAgICAgICAgcmV0dXJuOwpAQCAtNzksNyArNzksNyBAQCB2b2lkIEFjY2Vz
c2liaWxpdHlBcmlhR3JpZDo6YWRkQ2hpbGQoQWNjCiAgICAgYXBwZW5kZWRSb3dzLmFkZChyb3cp
OwogfQogICAgIAotdm9pZCBBY2Nlc3NpYmlsaXR5QXJpYUdyaWQ6OmFkZENoaWxkcmVuKCkKK3Zv
aWQgQWNjZXNzaWJpbGl0eUFSSUFHcmlkOjphZGRDaGlsZHJlbigpCiB7CiAgICAgQVNTRVJUKCFt
X2hhdmVDaGlsZHJlbik7IAogICAgIApAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQgQWNjZXNzaWJp
bGl0eUFyaWFHcmlkOjphZGRDaGlsZHJlbigKICAgICAgICAgbV9jaGlsZHJlbi5hcHBlbmQoaGVh
ZGVyQ29udGFpbmVyT2JqZWN0KTsKIH0KICAgICAKLUFjY2Vzc2liaWxpdHlUYWJsZUNlbGwqIEFj
Y2Vzc2liaWxpdHlBcmlhR3JpZDo6Y2VsbEZvckNvbHVtbkFuZFJvdyh1bnNpZ25lZCBjb2x1bW4s
IHVuc2lnbmVkIHJvdykKK0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwqIEFjY2Vzc2liaWxpdHlBUklB
R3JpZDo6Y2VsbEZvckNvbHVtbkFuZFJvdyh1bnNpZ25lZCBjb2x1bW4sIHVuc2lnbmVkIHJvdykK
IHsKICAgICBpZiAoIW1fcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiAwOwpJbmRleDogV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaAkocmV2aXNpb24gNDM5
NzMpCShmcm9tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWQuaDo0
Mzk3MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMu
ICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3Ig
dGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEFjY2Vzc2liaWxpdHlBcmlh
R3JpZF9oCisjZGVmaW5lIEFjY2Vzc2liaWxpdHlBcmlhR3JpZF9oCisKKyNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5VGFibGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorY2xhc3MgU3Ry
aW5nOworY2xhc3MgQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbDsKK2NsYXNzIEFjY2Vzc2liaWxpdHlU
YWJsZUhlYWRlckNvbnRhaW5lcjsKKworY2xhc3MgQWNjZXNzaWJpbGl0eUFyaWFHcmlkIDogcHVi
bGljIEFjY2Vzc2liaWxpdHlUYWJsZSB7CisgICAgCitwcml2YXRlOgorICAgIEFjY2Vzc2liaWxp
dHlBcmlhR3JpZChSZW5kZXJPYmplY3QqKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxBY2Nlc3NpYmlsaXR5QXJpYUdyaWQ+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKKyAgICB2aXJ0
dWFsIH5BY2Nlc3NpYmlsaXR5QXJpYUdyaWQoKTsKKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNB
cmlhVGFibGUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9ICAgIAorICAgIAorICAgIHZpcnR1YWwg
dm9pZCBhZGRDaGlsZHJlbigpOworICAgIAorICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVRhYmxl
Q2VsbCogY2VsbEZvckNvbHVtbkFuZFJvdyh1bnNpZ25lZCBjb2x1bW4sIHVuc2lnbmVkIHJvdyk7
CisKK3ByaXZhdGU6CisgICAgdm9pZCBhZGRDaGlsZChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3QsIEhhc2hTZXQ8QWNjZXNzaWJpbGl0eU9iamVjdCo+JiBhcHBlbmRlZFJvd3MsIHVuc2lnbmVk
JiBjb2x1bW5Db3VudCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlIAorCisjZW5kaWYg
Ly8gQWNjZXNzaWJpbGl0eUFyaWFHcmlkX2gKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5QVJJQUdyaWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkLmgJKHJldmlzaW9uIDQzOTczKQorKysgV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Niw4ICsyNiw4IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgQWNjZXNzaWJpbGl0eUFy
aWFHcmlkX2gKLSNkZWZpbmUgQWNjZXNzaWJpbGl0eUFyaWFHcmlkX2gKKyNpZm5kZWYgQWNjZXNz
aWJpbGl0eUFSSUFHcmlkX2gKKyNkZWZpbmUgQWNjZXNzaWJpbGl0eUFSSUFHcmlkX2gKIAogI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlUYWJsZS5oIgogCkBAIC0zNywxMyArMzcsMTMgQEAgY2xhc3Mg
U3RyaW5nOwogY2xhc3MgQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbDsKIGNsYXNzIEFjY2Vzc2liaWxp
dHlUYWJsZUhlYWRlckNvbnRhaW5lcjsKIAotY2xhc3MgQWNjZXNzaWJpbGl0eUFyaWFHcmlkIDog
cHVibGljIEFjY2Vzc2liaWxpdHlUYWJsZSB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQg
OiBwdWJsaWMgQWNjZXNzaWJpbGl0eVRhYmxlIHsKICAgICAKIHByaXZhdGU6Ci0gICAgQWNjZXNz
aWJpbGl0eUFyaWFHcmlkKFJlbmRlck9iamVjdCopOworICAgIEFjY2Vzc2liaWxpdHlBUklBR3Jp
ZChSZW5kZXJPYmplY3QqKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3Np
YmlsaXR5QXJpYUdyaWQ+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKLSAgICB2aXJ0dWFsIH5BY2Nl
c3NpYmlsaXR5QXJpYUdyaWQoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5
QVJJQUdyaWQ+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKKyAgICB2aXJ0dWFsIH5BY2Nlc3NpYmls
aXR5QVJJQUdyaWQoKTsKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgaXNBcmlhVGFibGUoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9ICAgIAogICAgIApAQCAtNTcsNCArNTcsNCBAQCBwcml2YXRlOgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlIAogCi0jZW5kaWYgLy8gQWNjZXNzaWJpbGl0eUFyaWFH
cmlkX2gKKyNlbmRpZiAvLyBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRfaApJbmRleDogV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmNwcAkocmV2
aXNpb24gNDM5NzMpCShmcm9tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJp
YUdyaWRDZWxsLmNwcDo0Mzk3MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5QVJJQUdyaWRDZWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDk2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVy
LCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICog
ICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
KyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbC5oIgor
CisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlUYWJsZVJvdy5oIgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisgICAgCitBY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsOjpBY2Nlc3NpYmlsaXR5QXJpYUdy
aWRDZWxsKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCisgICAgOiBBY2Nlc3NpYmlsaXR5VGFibGVD
ZWxsKHJlbmRlcmVyKQoreworfQorCitBY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsOjp+QWNjZXNz
aWJpbGl0eUFyaWFHcmlkQ2VsbCgpCit7Cit9CisKK1Bhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eUFy
aWFHcmlkQ2VsbD4gQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbDo6Y3JlYXRlKFJlbmRlck9iamVj
dCogcmVuZGVyZXIpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBY2Nlc3NpYmlsaXR5QXJp
YUdyaWRDZWxsKHJlbmRlcmVyKSk7Cit9CisKK0FjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2li
aWxpdHlBcmlhR3JpZENlbGw6OnBhcmVudFRhYmxlKCkgY29uc3QKK3sKKyAgICBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBwYXJlbnQgPSBwYXJlbnRPYmplY3RVbmlnbm9yZWQoKTsKKyAgICBpZiAoIXBh
cmVudCB8fCAhcGFyZW50LT5pc1RhYmxlUm93KCkpCisgICAgICAgIHJldHVybiAwOworICAgIAor
ICAgIHBhcmVudCA9IHBhcmVudC0+cGFyZW50T2JqZWN0VW5pZ25vcmVkKCk7CisgICAgaWYgKCFw
YXJlbnQgfHwgIXBhcmVudC0+aXNEYXRhVGFibGUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
CisgICAgcmV0dXJuIHBhcmVudDsKK30KKyAgICAKK3ZvaWQgQWNjZXNzaWJpbGl0eUFyaWFHcmlk
Q2VsbDo6cm93SW5kZXhSYW5nZShwYWlyPGludCwgaW50PiYgcm93UmFuZ2UpCit7CisgICAgQWNj
ZXNzaWJpbGl0eU9iamVjdCogcGFyZW50ID0gcGFyZW50T2JqZWN0VW5pZ25vcmVkKCk7CisgICAg
aWYgKCFwYXJlbnQgfHwgIXBhcmVudC0+aXNUYWJsZVJvdygpKQorICAgICAgICByZXR1cm47CisK
KyAgICAvLyBhcyBmYXIgYXMgSSBjYW4gdGVsbCwgZ3JpZCBjZWxscyBjYW5ub3Qgc3BhbiByb3dz
CisgICAgcm93UmFuZ2UuZmlyc3QgPSBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5VGFibGVSb3cq
PihwYXJlbnQpLT5yb3dJbmRleCgpOworICAgIHJvd1JhbmdlLnNlY29uZCA9IDE7ICAgIAorfQor
Cit2b2lkIEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGw6OmNvbHVtbkluZGV4UmFuZ2UocGFpcjxp
bnQsIGludD4mIGNvbHVtblJhbmdlKQoreworICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVu
dCA9IHBhcmVudE9iamVjdFVuaWdub3JlZCgpOworICAgIGlmICghcGFyZW50IHx8ICFwYXJlbnQt
PmlzVGFibGVSb3coKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIEFjY2Vzc2liaWxpdHlD
aGlsZHJlblZlY3RvciBzaWJsaW5ncyA9IHBhcmVudC0+Y2hpbGRyZW4oKTsKKyAgICB1bnNpZ25l
ZCBjaGlsZHJlblNpemUgPSBzaWJsaW5ncy5zaXplKCk7CisgICAgZm9yICh1bnNpZ25lZCBrID0g
MDsgayA8IGNoaWxkcmVuU2l6ZTsgKytrKSB7CisgICAgICAgIGlmIChzaWJsaW5nc1trXS5nZXQo
KSA9PSB0aGlzKSB7CisgICAgICAgICAgICBjb2x1bW5SYW5nZS5maXJzdCA9IGs7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICAvLyBhcyBmYXIgYXMgSSBj
YW4gdGVsbCwgZ3JpZCBjZWxscyBjYW5ub3Qgc3BhbiBjb2x1bW5zCisgICAgY29sdW1uUmFuZ2Uu
c2Vjb25kID0gMTsgICAgCit9CisgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmNw
cAkocmV2aXNpb24gNDM5NzMpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eUFSSUFHcmlkQ2VsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2Vs
bC5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaCIKIAogI2luY2x1ZGUg
IkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VGFibGVSb3cu
aCIKQEAgLTM2LDIxICszNiwyMSBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgCi1BY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsOjpBY2Nlc3NpYmlsaXR5
QXJpYUdyaWRDZWxsKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCitBY2Nlc3NpYmlsaXR5QVJJQUdy
aWRDZWxsOjpBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsKFJlbmRlck9iamVjdCogcmVuZGVyZXIp
CiAgICAgOiBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsKHJlbmRlcmVyKQogewogfQogCi1BY2Nlc3Np
YmlsaXR5QXJpYUdyaWRDZWxsOjp+QWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbCgpCitBY2Nlc3Np
YmlsaXR5QVJJQUdyaWRDZWxsOjp+QWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbCgpCiB7CiB9CiAK
LVBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbD4gQWNjZXNzaWJpbGl0eUFyaWFH
cmlkQ2VsbDo6Y3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCitQYXNzUmVmUHRyPEFjY2Vz
c2liaWxpdHlBUklBR3JpZENlbGw+IEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGw6OmNyZWF0ZShS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNjZXNz
aWJpbGl0eUFyaWFHcmlkQ2VsbChyZW5kZXJlcikpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcg
QWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbChyZW5kZXJlcikpOwogfQogCi1BY2Nlc3NpYmlsaXR5
T2JqZWN0KiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsOjpwYXJlbnRUYWJsZSgpIGNvbnN0CitB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsOjpwYXJlbnRUYWJs
ZSgpIGNvbnN0CiB7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50ID0gcGFyZW50T2Jq
ZWN0VW5pZ25vcmVkKCk7CiAgICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC0+aXNUYWJsZVJvdygp
KQpAQCAtNjMsNyArNjMsNyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5QXJp
YUdyCiAgICAgcmV0dXJuIHBhcmVudDsKIH0KICAgICAKLXZvaWQgQWNjZXNzaWJpbGl0eUFyaWFH
cmlkQ2VsbDo6cm93SW5kZXhSYW5nZShwYWlyPGludCwgaW50PiYgcm93UmFuZ2UpCit2b2lkIEFj
Y2Vzc2liaWxpdHlBUklBR3JpZENlbGw6OnJvd0luZGV4UmFuZ2UocGFpcjxpbnQsIGludD4mIHJv
d1JhbmdlKQogewogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9IHBhcmVudE9iamVj
dFVuaWdub3JlZCgpOwogICAgIGlmICghcGFyZW50IHx8ICFwYXJlbnQtPmlzVGFibGVSb3coKSkK
QEAgLTc0LDcgKzc0LDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsOjpyb3dJbmRl
eAogICAgIHJvd1JhbmdlLnNlY29uZCA9IDE7ICAgIAogfQogCi12b2lkIEFjY2Vzc2liaWxpdHlB
cmlhR3JpZENlbGw6OmNvbHVtbkluZGV4UmFuZ2UocGFpcjxpbnQsIGludD4mIGNvbHVtblJhbmdl
KQordm9pZCBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsOjpjb2x1bW5JbmRleFJhbmdlKHBhaXI8
aW50LCBpbnQ+JiBjb2x1bW5SYW5nZSkKIHsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJl
bnQgPSBwYXJlbnRPYmplY3RVbmlnbm9yZWQoKTsKICAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50
LT5pc1RhYmxlUm93KCkpCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eUFSSUFHcmlkQ2VsbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgJKHJldmlzaW9uIDQzOTczKQkoZnJvbSBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbC5oOjQzOTczKQorKysgV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9m
CisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGxfaAor
I2RlZmluZSBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsX2gKKworI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlUYWJsZUNlbGwuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorY2xhc3MgQWNj
ZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsIHsK
KyAgICAKK3ByaXZhdGU6CisgICAgQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbChSZW5kZXJPYmpl
Y3QqKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5QXJpYUdy
aWRDZWxsPiBjcmVhdGUoUmVuZGVyT2JqZWN0Kik7CisgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0
eUFyaWFHcmlkQ2VsbCgpOworICAgIAorICAgIC8vIGZpbGxzIGluIHRoZSBzdGFydCBsb2NhdGlv
biBhbmQgcm93IHNwYW4gb2YgY2VsbAorICAgIHZpcnR1YWwgdm9pZCByb3dJbmRleFJhbmdlKHBh
aXI8aW50LCBpbnQ+JiByb3dSYW5nZSk7CisgICAgLy8gZmlsbHMgaW4gdGhlIHN0YXJ0IGxvY2F0
aW9uIGFuZCBjb2x1bW4gc3BhbiBvZiBjZWxsCisgICAgdmlydHVhbCB2b2lkIGNvbHVtbkluZGV4
UmFuZ2UocGFpcjxpbnQsIGludD4mIGNvbHVtblJhbmdlKTsKKyAgICAKK3Byb3RlY3RlZDoKKyAg
ICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudFRhYmxlKCkgY29uc3Q7Cit9OyAK
KyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUgCisKKyNlbmRpZiAvLyBBY2Nlc3NpYmlsaXR5
QXJpYUdyaWRDZWxsX2gKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
QVJJQUdyaWRDZWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlBUklBR3JpZENlbGwuaAkocmV2aXNpb24gNDM5NzMpCisrKyBXZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NiwyMCArMjYsMjAgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBBY2Nlc3NpYmlsaXR5
QXJpYUdyaWRDZWxsX2gKLSNkZWZpbmUgQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbF9oCisjaWZu
ZGVmIEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGxfaAorI2RlZmluZSBBY2Nlc3NpYmlsaXR5QVJJ
QUdyaWRDZWxsX2gKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlUYWJsZUNlbGwuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbCA6
IHB1YmxpYyBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsIHsKK2NsYXNzIEFjY2Vzc2liaWxpdHlBUklB
R3JpZENlbGwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCB7CiAgICAgCiBwcml2YXRl
OgotICAgIEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwoUmVuZGVyT2JqZWN0Kik7CisgICAgQWNj
ZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbChSZW5kZXJPYmplY3QqKTsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsPiBjcmVhdGUoUmVuZGVyT2Jq
ZWN0Kik7Ci0gICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbCgpOworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGw+IGNyZWF0ZShSZW5kZXJP
YmplY3QqKTsKKyAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsKCk7CiAgICAg
CiAgICAgLy8gZmlsbHMgaW4gdGhlIHN0YXJ0IGxvY2F0aW9uIGFuZCByb3cgc3BhbiBvZiBjZWxs
CiAgICAgdmlydHVhbCB2b2lkIHJvd0luZGV4UmFuZ2UocGFpcjxpbnQsIGludD4mIHJvd1Jhbmdl
KTsKQEAgLTUyLDQgKzUyLDQgQEAgcHJvdGVjdGVkOgogICAgIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZSAKIAotI2VuZGlmIC8vIEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGxfaAorI2VuZGlmIC8v
IEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGxfaApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5jcHAJKHJldmlzaW9uIDQzOTczKQko
ZnJvbSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93LmNwcDo0
Mzk3MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIp
IG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3cuaCIKKworI2luY2x1ZGUgIkFjY2Vz
c2liaWxpdHlPYmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKwordXNpbmcgbmFt
ZXNwYWNlIHN0ZDsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorQWNjZXNzaWJpbGl0eUFy
aWFHcmlkUm93OjpBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3coUmVuZGVyT2JqZWN0KiByZW5kZXJl
cikKKyAgICA6IEFjY2Vzc2liaWxpdHlUYWJsZVJvdyhyZW5kZXJlcikKK3sKK30KKworQWNjZXNz
aWJpbGl0eUFyaWFHcmlkUm93Ojp+QWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93KCkKK3sKK30KKwor
UGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3c+IEFjY2Vzc2liaWxpdHlBcmlhR3Jp
ZFJvdzo6Y3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3cocmVuZGVyZXIpKTsKK30KKworQWNjZXNz
aWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93OjpwYXJlbnRUYWJsZSgpIGNv
bnN0Cit7CisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50ID0gcGFyZW50T2JqZWN0VW5p
Z25vcmVkKCk7CisgICAgaWYgKCFwYXJlbnQtPmlzRGF0YVRhYmxlKCkpCisgICAgICAgIHJldHVy
biAwOworICAgIAorICAgIHJldHVybiBwYXJlbnQ7Cit9CisKK0FjY2Vzc2liaWxpdHlPYmplY3Qq
IEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdzo6aGVhZGVyT2JqZWN0KCkKK3sKKyAgICBBY2Nlc3Np
YmlsaXR5Q2hpbGRyZW5WZWN0b3Igcm93Q2hpbGRyZW4gPSBjaGlsZHJlbigpOworICAgIHVuc2ln
bmVkIGNoaWxkcmVuQ291bnQgPSByb3dDaGlsZHJlbi5zaXplKCk7CisgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGNoaWxkcmVuQ291bnQ7ICsraSkgeworICAgICAgICBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBjZWxsID0gcm93Q2hpbGRyZW5baV0uZ2V0KCk7CisgICAgICAgIGlmIChjZWxsLT5h
cmlhUm9sZUF0dHJpYnV0ZSgpID09IFJvd0hlYWRlclJvbGUpCisgICAgICAgICAgICByZXR1cm4g
Y2VsbDsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRS
b3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
QVJJQUdyaWRSb3cuY3BwCShyZXZpc2lvbiA0Mzk3MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsy
Nyw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlBcmlhR3JpZFJvdy5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5oIgog
CiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVj
dC5oIgpAQCAtMzYsMjEgKzM2LDIxIEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAKLUFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdzo6QWNjZXNzaWJpbGl0
eUFyaWFHcmlkUm93KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCitBY2Nlc3NpYmlsaXR5QVJJQUdy
aWRSb3c6OkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdyhSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQog
ICAgIDogQWNjZXNzaWJpbGl0eVRhYmxlUm93KHJlbmRlcmVyKQogewogfQogCi1BY2Nlc3NpYmls
aXR5QXJpYUdyaWRSb3c6On5BY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3coKQorQWNjZXNzaWJpbGl0
eUFSSUFHcmlkUm93Ojp+QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93KCkKIHsKIH0KIAotUGFzc1Jl
ZlB0cjxBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3c+IEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdzo6
Y3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCitQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlB
UklBR3JpZFJvdz4gQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93OjpjcmVhdGUoUmVuZGVyT2JqZWN0
KiByZW5kZXJlcikKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlBcmlh
R3JpZFJvdyhyZW5kZXJlcikpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNjZXNzaWJpbGl0
eUFSSUFHcmlkUm93KHJlbmRlcmVyKSk7CiB9CiAKLUFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vz
c2liaWxpdHlBcmlhR3JpZFJvdzo6cGFyZW50VGFibGUoKSBjb25zdAorQWNjZXNzaWJpbGl0eU9i
amVjdCogQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93OjpwYXJlbnRUYWJsZSgpIGNvbnN0CiB7CiAg
ICAgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50ID0gcGFyZW50T2JqZWN0VW5pZ25vcmVkKCk7
CiAgICAgaWYgKCFwYXJlbnQtPmlzRGF0YVRhYmxlKCkpCkBAIC01OSw3ICs1OSw3IEBAIEFjY2Vz
c2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlBcmlhR3IKICAgICByZXR1cm4gcGFyZW50Owog
fQogCi1BY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3c6OmhlYWRl
ck9iamVjdCgpCitBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3c6
OmhlYWRlck9iamVjdCgpCiB7CiAgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIHJvd0No
aWxkcmVuID0gY2hpbGRyZW4oKTsKICAgICB1bnNpZ25lZCBjaGlsZHJlbkNvdW50ID0gcm93Q2hp
bGRyZW4uc2l6ZSgpOwpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlB
UklBR3JpZFJvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5QVJJQUdyaWRSb3cuaAkocmV2aXNpb24gNDM5NzMpCShmcm9tIFdlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3cuaDo0Mzk3MykKKysrIFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvd19oCisjZGVmaW5l
IEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvd19oCisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VGFi
bGVSb3cuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorY2xhc3MgQWNjZXNzaWJpbGl0
eUFyaWFHcmlkUm93IDogcHVibGljIEFjY2Vzc2liaWxpdHlUYWJsZVJvdyB7CisgICAgCitwcml2
YXRlOgorICAgIEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdyhSZW5kZXJPYmplY3QqKTsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3c+IGNyZWF0
ZShSZW5kZXJPYmplY3QqKTsKKyAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3co
KTsKKyAgICAKKyAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlPYmplY3QqIGhlYWRlck9iamVjdCgp
OworICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50VGFibGUoKSBjb25zdDsg
ICAgCit9OyAKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUgCisKKyNlbmRpZiAvLyBBY2Nl
c3NpYmlsaXR5QXJpYUdyaWRSb3dfaApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlBUklBR3JpZFJvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaAkocmV2aXNpb24gNDM5NzMpCisrKyBXZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgJKHdvcmtpbmcgY29weSkK
QEAgLTI2LDIwICsyNiwyMCBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIEFjY2Vzc2li
aWxpdHlBcmlhR3JpZFJvd19oCi0jZGVmaW5lIEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvd19oCisj
aWZuZGVmIEFjY2Vzc2liaWxpdHlBUklBR3JpZFJvd19oCisjZGVmaW5lIEFjY2Vzc2liaWxpdHlB
UklBR3JpZFJvd19oCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93IDog
cHVibGljIEFjY2Vzc2liaWxpdHlUYWJsZVJvdyB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5QVJJQUdy
aWRSb3cgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eVRhYmxlUm93IHsKICAgICAKIHByaXZhdGU6Ci0g
ICAgQWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93KFJlbmRlck9iamVjdCopOworICAgIEFjY2Vzc2li
aWxpdHlBUklBR3JpZFJvdyhSZW5kZXJPYmplY3QqKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3c+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsK
LSAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3coKTsKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3c+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsK
KyAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3coKTsKICAgICAKICAgICB2aXJ0
dWFsIEFjY2Vzc2liaWxpdHlPYmplY3QqIGhlYWRlck9iamVjdCgpOwogICAgIHZpcnR1YWwgQWNj
ZXNzaWJpbGl0eU9iamVjdCogcGFyZW50VGFibGUoKSBjb25zdDsgICAgCkBAIC00Nyw0ICs0Nyw0
IEBAIHB1YmxpYzoKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUgCiAKLSNlbmRpZiAvLyBB
Y2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3dfaAorI2VuZGlmIC8vIEFjY2Vzc2liaWxpdHlBUklBR3Jp
ZFJvd19oCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFyaWFHcmlk
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFy
aWFHcmlkLmNwcAkocmV2aXNpb24gNDM5NzMpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eUFyaWFHcmlkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwxNTQgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21w
dXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQK
LSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
LSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlBcmlhR3JpZC5oIgot
Ci0jaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5oIgotI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlUYWJsZUNvbHVtbi5oIgotI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNv
bnRhaW5lci5oIgotI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlUYWJsZVJvdy5oIgotI2luY2x1ZGUg
IkFYT2JqZWN0Q2FjaGUuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKLQotdXNpbmcgbmFt
ZXNwYWNlIHN0ZDsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1BY2Nlc3NpYmlsaXR5QXJpYUdy
aWQ6OkFjY2Vzc2liaWxpdHlBcmlhR3JpZChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQotICAgIDog
QWNjZXNzaWJpbGl0eVRhYmxlKHJlbmRlcmVyKQotewotI2lmIEFDQ0VTU0lCSUxJVFlfVEFCTEVT
Ci0gICAgbV9pc0FjY2Vzc2liaWxpdHlUYWJsZSA9IHRydWU7Ci0jZWxzZQotICAgIG1faXNBY2Nl
c3NpYmlsaXR5VGFibGUgPSBmYWxzZTsKLSNlbmRpZgotfQotCi1BY2Nlc3NpYmlsaXR5QXJpYUdy
aWQ6On5BY2Nlc3NpYmlsaXR5QXJpYUdyaWQoKQotewotfQotCi1QYXNzUmVmUHRyPEFjY2Vzc2li
aWxpdHlBcmlhR3JpZD4gQWNjZXNzaWJpbGl0eUFyaWFHcmlkOjpjcmVhdGUoUmVuZGVyT2JqZWN0
KiByZW5kZXJlcikKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlBcmlh
R3JpZChyZW5kZXJlcikpOwotfQotCi12b2lkIEFjY2Vzc2liaWxpdHlBcmlhR3JpZDo6YWRkQ2hp
bGQoQWNjZXNzaWJpbGl0eU9iamVjdCogY2hpbGQsIEhhc2hTZXQ8QWNjZXNzaWJpbGl0eU9iamVj
dCo+JiBhcHBlbmRlZFJvd3MsIHVuc2lnbmVkJiBjb2x1bW5Db3VudCkKLXsKLSAgICBpZiAoIWNo
aWxkIHx8ICFjaGlsZC0+aXNUYWJsZVJvdygpIHx8IGNoaWxkLT5hcmlhUm9sZUF0dHJpYnV0ZSgp
ICE9IFJvd1JvbGUpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgQWNjZXNzaWJpbGl0
eVRhYmxlUm93KiByb3cgPSBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5VGFibGVSb3cqPihjaGls
ZCk7Ci0gICAgaWYgKGFwcGVuZGVkUm93cy5jb250YWlucyhyb3cpKQotICAgICAgICByZXR1cm47
Ci0gICAgICAgIAotICAgIC8vIHN0b3JlIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb2x1bW5zCi0g
ICAgdW5zaWduZWQgcm93Q2VsbENvdW50ID0gcm93LT5jaGlsZHJlbigpLnNpemUoKTsKLSAgICBp
ZiAocm93Q2VsbENvdW50ID4gY29sdW1uQ291bnQpCi0gICAgICAgIGNvbHVtbkNvdW50ID0gcm93
Q2VsbENvdW50OwotICAgIAotICAgIHJvdy0+c2V0Um93SW5kZXgoKGludCltX3Jvd3Muc2l6ZSgp
KTsgICAgICAgIAotICAgIG1fcm93cy5hcHBlbmQocm93KTsKLSAgICBtX2NoaWxkcmVuLmFwcGVu
ZChyb3cpOwotICAgIGFwcGVuZGVkUm93cy5hZGQocm93KTsKLX0KLSAgICAKLXZvaWQgQWNjZXNz
aWJpbGl0eUFyaWFHcmlkOjphZGRDaGlsZHJlbigpCi17Ci0gICAgQVNTRVJUKCFtX2hhdmVDaGls
ZHJlbik7IAotICAgIAotICAgIGlmICghaXNEYXRhVGFibGUoKSkgewotICAgICAgICBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0OjphZGRDaGlsZHJlbigpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotICAgIAotICAgIG1faGF2ZUNoaWxkcmVuID0gdHJ1ZTsKLSAgICBpZiAoIW1fcmVuZGVyZXIp
Ci0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBBWE9iamVjdENhY2hlKiBheENhY2hlID0gbV9y
ZW5kZXJlci0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOwotICAgIAotICAgIC8vIGFkZCBv
bmx5IHJvd3MgdGhhdCBhcmUgbGFiZWxlZCBhcyBhcmlhIHJvd3MKLSAgICBIYXNoU2V0PEFjY2Vz
c2liaWxpdHlPYmplY3QqPiBhcHBlbmRlZFJvd3M7Ci0gICAgdW5zaWduZWQgY29sdW1uQ291bnQg
PSAwOwotICAgIGZvciAoUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IGNoaWxkID0gZmlyc3RD
aGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewotCi0gICAgICAg
IC8vIGluIGNhc2UgdGhlIHJlbmRlciB0cmVlIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4cGVjdGVkIEFS
SUEgaGllcmFyY2h5LCBsb29rIGF0IHRoZSBjaGlsZHJlbgotICAgICAgICBpZiAoY2hpbGQtPmFj
Y2Vzc2liaWxpdHlJc0lnbm9yZWQoKSkgewotICAgICAgICAgICAgaWYgKCFjaGlsZC0+aGFzQ2hp
bGRyZW4oKSkKLSAgICAgICAgICAgICAgICBjaGlsZC0+YWRkQ2hpbGRyZW4oKTsKLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIGNoaWxkcmVuID0g
Y2hpbGQtPmNoaWxkcmVuKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBjaGlsZHJl
bi5zaXplKCk7Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyAr
K2kpCi0gICAgICAgICAgICAgICAgYWRkQ2hpbGQoY2hpbGRyZW5baV0uZ2V0KCksIGFwcGVuZGVk
Um93cywgY29sdW1uQ291bnQpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGFkZENoaWxk
KGNoaWxkLmdldCgpLCBhcHBlbmRlZFJvd3MsIGNvbHVtbkNvdW50KTsgICAgICAgICAgICAKLSAg
ICB9Ci0gICAgCi0gICAgLy8gbWFrZSB0aGUgY29sdW1ucyBiYXNlZCBvbiB0aGUgbnVtYmVyIG9m
IGNvbHVtbnMgaW4gdGhlIGZpcnN0IGJvZHkKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
Y29sdW1uQ291bnQ7ICsraSkgewotICAgICAgICBBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4qIGNv
bHVtbiA9IHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbio+KGF4Q2FjaGUtPmdl
dE9yQ3JlYXRlKENvbHVtblJvbGUpKTsKLSAgICAgICAgY29sdW1uLT5zZXRDb2x1bW5JbmRleCgo
aW50KWkpOwotICAgICAgICBjb2x1bW4tPnNldFBhcmVudFRhYmxlKHRoaXMpOwotICAgICAgICBt
X2NvbHVtbnMuYXBwZW5kKGNvbHVtbik7Ci0gICAgICAgIG1fY2hpbGRyZW4uYXBwZW5kKGNvbHVt
bik7Ci0gICAgfQotICAgIAotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGhlYWRlckNvbnRhaW5l
ck9iamVjdCA9IGhlYWRlckNvbnRhaW5lcigpOwotICAgIGlmIChoZWFkZXJDb250YWluZXJPYmpl
Y3QpCi0gICAgICAgIG1fY2hpbGRyZW4uYXBwZW5kKGhlYWRlckNvbnRhaW5lck9iamVjdCk7Ci19
Ci0gICAgCi1BY2Nlc3NpYmlsaXR5VGFibGVDZWxsKiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWQ6OmNl
bGxGb3JDb2x1bW5BbmRSb3codW5zaWduZWQgY29sdW1uLCB1bnNpZ25lZCByb3cpCi17Ci0gICAg
aWYgKCFtX3JlbmRlcmVyKQotICAgICAgICByZXR1cm4gMDsKLSAgICAKLSAgICBpZiAoIWhhc0No
aWxkcmVuKCkpCi0gICAgICAgIGFkZENoaWxkcmVuKCk7Ci0gICAgCi0gICAgaWYgKGNvbHVtbiA+
PSBjb2x1bW5Db3VudCgpIHx8IHJvdyA+PSByb3dDb3VudCgpKQotICAgICAgICByZXR1cm4gMDsK
LSAgICAKLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0ICp0YWJsZVJvdyA9IG1fcm93c1tyb3ddLmdl
dCgpOwotICAgIGlmICghdGFibGVSb3cpCi0gICAgICAgIHJldHVybiAwOwotICAgIAotICAgIEFj
Y2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBjaGlsZHJlbiA9IHRhYmxlUm93LT5jaGlsZHJlbigp
OwotICAgIC8vIGluIGNhc2UgdGhpcyByb3cgaGFkIGZld2VyIGNvbHVtbnMgdGhhbiBvdGhlciBy
b3dzCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogdGFibGVDZWxsID0gMDsKLSAgICBpZiAoY29s
dW1uID49IGNoaWxkcmVuLnNpemUoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICB0YWJsZUNl
bGwgPSBjaGlsZHJlbltjb2x1bW5dLmdldCgpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxBY2Nl
c3NpYmlsaXR5VGFibGVDZWxsKj4odGFibGVDZWxsKTsKLX0KLSAgICAKLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdy
aWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFy
aWFHcmlkLmgJKHJldmlzaW9uIDQzOTczKQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlBcmlhR3JpZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYwICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIs
IEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwot
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5k
ZWYgQWNjZXNzaWJpbGl0eUFyaWFHcmlkX2gKLSNkZWZpbmUgQWNjZXNzaWJpbGl0eUFyaWFHcmlk
X2gKLQotI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlUYWJsZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0gICAgCi1jbGFzcyBTdHJpbmc7Ci1jbGFzcyBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsOwot
Y2xhc3MgQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFpbmVyOwotCi1jbGFzcyBBY2Nlc3Np
YmlsaXR5QXJpYUdyaWQgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eVRhYmxlIHsKLSAgICAKLXByaXZh
dGU6Ci0gICAgQWNjZXNzaWJpbGl0eUFyaWFHcmlkKFJlbmRlck9iamVjdCopOwotcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlBcmlhR3JpZD4gY3JlYXRlKFJlbmRl
ck9iamVjdCopOwotICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlBcmlhR3JpZCgpOwotICAgIAot
ICAgIHZpcnR1YWwgYm9vbCBpc0FyaWFUYWJsZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0gICAg
Ci0gICAgCi0gICAgdmlydHVhbCB2b2lkIGFkZENoaWxkcmVuKCk7Ci0gICAgCi0gICAgdmlydHVh
bCBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsKiBjZWxsRm9yQ29sdW1uQW5kUm93KHVuc2lnbmVkIGNv
bHVtbiwgdW5zaWduZWQgcm93KTsKLQotcHJpdmF0ZToKLSAgICB2b2lkIGFkZENoaWxkKEFjY2Vz
c2liaWxpdHlPYmplY3QqIG9iamVjdCwgSGFzaFNldDxBY2Nlc3NpYmlsaXR5T2JqZWN0Kj4mIGFw
cGVuZGVkUm93cywgdW5zaWduZWQmIGNvbHVtbkNvdW50KTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUgCi0KLSNlbmRpZiAvLyBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRfaApJbmRleDogV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsLmNw
cAkocmV2aXNpb24gNDM5NzMpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eUFyaWFHcmlkQ2VsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsOTYgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwg
SW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAg
ICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0g
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwuaCIKLQot
I2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKLSNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
VGFibGVSb3cuaCIKLQotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotICAgIAotQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbDo6QWNjZXNzaWJpbGl0eUFyaWFHcmlk
Q2VsbChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQotICAgIDogQWNjZXNzaWJpbGl0eVRhYmxlQ2Vs
bChyZW5kZXJlcikKLXsKLX0KLQotQWNjZXNzaWJpbGl0eUFyaWFHcmlkQ2VsbDo6fkFjY2Vzc2li
aWxpdHlBcmlhR3JpZENlbGwoKQotewotfQotCi1QYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlBcmlh
R3JpZENlbGw+IEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGw6OmNyZWF0ZShSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNjZXNzaWJpbGl0eUFyaWFH
cmlkQ2VsbChyZW5kZXJlcikpOwotfQotCi1BY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmls
aXR5QXJpYUdyaWRDZWxsOjpwYXJlbnRUYWJsZSgpIGNvbnN0Ci17Ci0gICAgQWNjZXNzaWJpbGl0
eU9iamVjdCogcGFyZW50ID0gcGFyZW50T2JqZWN0VW5pZ25vcmVkKCk7Ci0gICAgaWYgKCFwYXJl
bnQgfHwgIXBhcmVudC0+aXNUYWJsZVJvdygpKQotICAgICAgICByZXR1cm4gMDsKLSAgICAKLSAg
ICBwYXJlbnQgPSBwYXJlbnQtPnBhcmVudE9iamVjdFVuaWdub3JlZCgpOwotICAgIGlmICghcGFy
ZW50IHx8ICFwYXJlbnQtPmlzRGF0YVRhYmxlKCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIAot
ICAgIHJldHVybiBwYXJlbnQ7Ci19Ci0gICAgCi12b2lkIEFjY2Vzc2liaWxpdHlBcmlhR3JpZENl
bGw6OnJvd0luZGV4UmFuZ2UocGFpcjxpbnQsIGludD4mIHJvd1JhbmdlKQotewotICAgIEFjY2Vz
c2liaWxpdHlPYmplY3QqIHBhcmVudCA9IHBhcmVudE9iamVjdFVuaWdub3JlZCgpOwotICAgIGlm
ICghcGFyZW50IHx8ICFwYXJlbnQtPmlzVGFibGVSb3coKSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgLy8gYXMgZmFyIGFzIEkgY2FuIHRlbGwsIGdyaWQgY2VsbHMgY2Fubm90IHNwYW4gcm93cwot
ICAgIHJvd1JhbmdlLmZpcnN0ID0gc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVRhYmxlUm93Kj4o
cGFyZW50KS0+cm93SW5kZXgoKTsKLSAgICByb3dSYW5nZS5zZWNvbmQgPSAxOyAgICAKLX0KLQot
dm9pZCBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsOjpjb2x1bW5JbmRleFJhbmdlKHBhaXI8aW50
LCBpbnQ+JiBjb2x1bW5SYW5nZSkKLXsKLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnQg
PSBwYXJlbnRPYmplY3RVbmlnbm9yZWQoKTsKLSAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LT5p
c1RhYmxlUm93KCkpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3Igc2libGluZ3MgPSBwYXJlbnQtPmNoaWxkcmVuKCk7Ci0gICAgdW5zaWduZWQg
Y2hpbGRyZW5TaXplID0gc2libGluZ3Muc2l6ZSgpOwotICAgIGZvciAodW5zaWduZWQgayA9IDA7
IGsgPCBjaGlsZHJlblNpemU7ICsraykgewotICAgICAgICBpZiAoc2libGluZ3Nba10uZ2V0KCkg
PT0gdGhpcykgewotICAgICAgICAgICAgY29sdW1uUmFuZ2UuZmlyc3QgPSBrOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgLy8gYXMgZmFyIGFzIEkgY2Fu
IHRlbGwsIGdyaWQgY2VsbHMgY2Fubm90IHNwYW4gY29sdW1ucwotICAgIGNvbHVtblJhbmdlLnNl
Y29uZCA9IDE7ICAgIAotfQotICAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGwuaAkocmV2
aXNpb24gNDM5NzMpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFyaWFH
cmlkQ2VsbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQWNjZXNz
aWJpbGl0eUFyaWFHcmlkQ2VsbF9oCi0jZGVmaW5lIEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGxf
aAotCi0jaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0gICAgCi1jbGFzcyBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsIDogcHVibGljIEFj
Y2Vzc2liaWxpdHlUYWJsZUNlbGwgewotICAgIAotcHJpdmF0ZToKLSAgICBBY2Nlc3NpYmlsaXR5
QXJpYUdyaWRDZWxsKFJlbmRlck9iamVjdCopOwotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGw+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKLSAg
ICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5QXJpYUdyaWRDZWxsKCk7Ci0gICAgCi0gICAgLy8gZmls
bHMgaW4gdGhlIHN0YXJ0IGxvY2F0aW9uIGFuZCByb3cgc3BhbiBvZiBjZWxsCi0gICAgdmlydHVh
bCB2b2lkIHJvd0luZGV4UmFuZ2UocGFpcjxpbnQsIGludD4mIHJvd1JhbmdlKTsKLSAgICAvLyBm
aWxscyBpbiB0aGUgc3RhcnQgbG9jYXRpb24gYW5kIGNvbHVtbiBzcGFuIG9mIGNlbGwKLSAgICB2
aXJ0dWFsIHZvaWQgY29sdW1uSW5kZXhSYW5nZShwYWlyPGludCwgaW50PiYgY29sdW1uUmFuZ2Up
OwotICAgIAotcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFy
ZW50VGFibGUoKSBjb25zdDsKLX07IAotICAgIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZSAKLQot
I2VuZGlmIC8vIEFjY2Vzc2liaWxpdHlBcmlhR3JpZENlbGxfaApJbmRleDogV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdy5jcHAJKHJldmlzaW9u
IDQzOTczKQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3JpZFJv
dy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxl
Iikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
LSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdy5oIgotCi0jaW5jbHVkZSAiQWNj
ZXNzaWJpbGl0eU9iamVjdC5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotCi11c2luZyBu
YW1lc3BhY2Ugc3RkOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCi1BY2Nlc3NpYmlsaXR5
QXJpYUdyaWRSb3c6OkFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdyhSZW5kZXJPYmplY3QqIHJlbmRl
cmVyKQotICAgIDogQWNjZXNzaWJpbGl0eVRhYmxlUm93KHJlbmRlcmVyKQotewotfQotCi1BY2Nl
c3NpYmlsaXR5QXJpYUdyaWRSb3c6On5BY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3coKQotewotfQot
Ci1QYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdz4gQWNjZXNzaWJpbGl0eUFyaWFH
cmlkUm93OjpjcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKLXsKLSAgICByZXR1cm4gYWRv
cHRSZWYobmV3IEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJvdyhyZW5kZXJlcikpOwotfQotCi1BY2Nl
c3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3c6OnBhcmVudFRhYmxlKCkg
Y29uc3QKLXsKLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnQgPSBwYXJlbnRPYmplY3RV
bmlnbm9yZWQoKTsKLSAgICBpZiAoIXBhcmVudC0+aXNEYXRhVGFibGUoKSkKLSAgICAgICAgcmV0
dXJuIDA7Ci0gICAgCi0gICAgcmV0dXJuIHBhcmVudDsKLX0KLQotQWNjZXNzaWJpbGl0eU9iamVj
dCogQWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93OjpoZWFkZXJPYmplY3QoKQotewotICAgIEFjY2Vz
c2liaWxpdHlDaGlsZHJlblZlY3RvciByb3dDaGlsZHJlbiA9IGNoaWxkcmVuKCk7Ci0gICAgdW5z
aWduZWQgY2hpbGRyZW5Db3VudCA9IHJvd0NoaWxkcmVuLnNpemUoKTsKLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgY2hpbGRyZW5Db3VudDsgKytpKSB7Ci0gICAgICAgIEFjY2Vzc2liaWxp
dHlPYmplY3QqIGNlbGwgPSByb3dDaGlsZHJlbltpXS5nZXQoKTsKLSAgICAgICAgaWYgKGNlbGwt
PmFyaWFSb2xlQXR0cmlidXRlKCkgPT0gUm93SGVhZGVyUm9sZSkKLSAgICAgICAgICAgIHJldHVy
biBjZWxsOwotICAgIH0KLSAgICAKLSAgICByZXR1cm4gMDsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBcmlhR3Jp
ZFJvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
QXJpYUdyaWRSb3cuaAkocmV2aXNpb24gNDM5NzMpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNTAgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBD
b21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2lmbmRlZiBBY2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3dfaAotI2RlZmluZSBBY2Nlc3NpYmls
aXR5QXJpYUdyaWRSb3dfaAotCi0jaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlUm93LmgiCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKLWNsYXNzIEFjY2Vzc2liaWxpdHlBcmlhR3JpZFJv
dyA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5VGFibGVSb3cgewotICAgIAotcHJpdmF0ZToKLSAgICBB
Y2Nlc3NpYmlsaXR5QXJpYUdyaWRSb3coUmVuZGVyT2JqZWN0Kik7Ci1wdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93PiBjcmVhdGUoUmVuZGVyT2Jq
ZWN0Kik7Ci0gICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eUFyaWFHcmlkUm93KCk7Ci0gICAgCi0g
ICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBoZWFkZXJPYmplY3QoKTsKLSAgICB2aXJ0
dWFsIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudFRhYmxlKCkgY29uc3Q7ICAgIAotfTsgCi0g
ICAgCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlIAotCi0jZW5kaWYgLy8gQWNjZXNzaWJpbGl0eUFy
aWFHcmlkUm93X2gK
</data>
<flag name="review"
          id="15444"
          type_id="1"
          status="+"
          setter="mrowe"
    />
          </attachment>
      

    </bug>

</bugzilla>