<?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>147754</bug_id>
          
          <creation_ts>2015-08-06 16:09:59 -0700</creation_ts>
          <short_desc>Merge SQLStatement into SQLStatementBackend</short_desc>
          <delta_ts>2015-08-06 16:21:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1115515</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-06 16:09:59 -0700</bug_when>
    <thetext>Merge SQLStatement into SQLStatementBackend</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115516</commentid>
    <comment_count>1</comment_count>
      <attachid>258415</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-06 16:11:07 -0700</bug_when>
    <thetext>Created attachment 258415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115519</commentid>
    <comment_count>2</comment_count>
      <attachid>258418</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-06 16:14:18 -0700</bug_when>
    <thetext>Created attachment 258418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115521</commentid>
    <comment_count>3</comment_count>
      <attachid>258418</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-08-06 16:15:32 -0700</bug_when>
    <thetext>Comment on attachment 258418
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115527</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-06 16:21:21 -0700</bug_when>
    <thetext>Committed r188081: &lt;http://trac.webkit.org/changeset/188081&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258415</attachid>
            <date>2015-08-06 16:11:07 -0700</date>
            <delta_ts>2015-08-06 16:14:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147754-20150806161057.patch</filename>
            <type>text/plain</type>
            <size>28501</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MDY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDAyZGU5NTBhYmQ0NmFj
OGMzNzE1YzJmMzIzNGI2ZTFmNThmNTZjMS4uNzIwZjA0YzM3N2Q5YmI2ZDAyYzU1YjdiZTg4YzZj
NDY4ZDZhZDE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQxIEBACisyMDE1LTA4LTA2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTWVyZ2UgU1FMU3Rh
dGVtZW50IGludG8gU1FMU3RhdGVtZW50QmFja2VuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3NzU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFz
ZS9TUUxTdGF0ZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6U1FMU3RhdGVt
ZW50OjpTUUxTdGF0ZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1FMU3RhdGVt
ZW50OjpzZXRCYWNrZW5kKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNRTFN0YXRlbWVu
dDo6aGFzQ2FsbGJhY2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1FMU3RhdGVtZW50
OjpoYXNFcnJvckNhbGxiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNRTFN0YXRl
bWVudDo6cGVyZm9ybUNhbGxiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL1NRTFN0YXRlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0
YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxTdGF0
ZW1lbnRCYWNrZW5kOjpTUUxTdGF0ZW1lbnRCYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlNR
TFN0YXRlbWVudEJhY2tlbmQ6OnBlcmZvcm1DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpT
UUxTdGF0ZW1lbnRCYWNrZW5kOjpmcm9udGVuZCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5kLmg6CisgICAgICAgIChXZWJDb3JlOjpT
UUxTdGF0ZW1lbnRCYWNrZW5kOjpoYXNTdGF0ZW1lbnRDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpTUUxTdGF0ZW1lbnRCYWNrZW5kOjpoYXNTdGF0ZW1lbnRFcnJvckNhbGxiYWNrKToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNRTFRyYW5zYWN0aW9uOjpkZWxpdmVyU3RhdGVtZW50Q2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rpb246OmV4ZWN1dGVTUUwpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
UUxUcmFuc2FjdGlvbkJhY2tlbmQ6OmN1cnJlbnRTdGF0ZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1FMVHJhbnNhY3Rpb25CYWNrZW5kOjpleGVjdXRlU1FMKToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5oOgorICAgICAgICAqIFdlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9uQ3VzdG9tLmNw
cDoKKwogMjAxNS0wOC0wNiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgog
CiAgICAgICAgIFNRTFN0YXRlbWVudEJhY2tlbmQgZG9lc24ndCBuZWVkIHRvIGJlIHJlZmNvdW50
ZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Nzc0
OAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGE0YzkxMzNiOTU5YWQzOTg4MDJkNjhmOWFkM2Vh
ZjIwNTAwM2I2Y2MuLmRkZWNhYmM0MmQwNTUyNzMyZDBkNDg3NWU0ZDYzYTc5YTk1NTZmMDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMDEzLDcgKzEwMTMsNiBAQCBzZXQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxFeGNlcHRpb24uY3BwCiAgICAgTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxSZXN1bHRTZXQuY3BwCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9T
UUxSZXN1bHRTZXRSb3dMaXN0LmNwcAotICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVt
ZW50LmNwcAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5jcHAK
ICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmNwcAogICAgIE1vZHVsZXMv
d2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5oCmluZGV4IDQ0OTkxN2RkNmM1YmFmZGFkZGEw
ZWY4NzM4OThhZWVkY2M3MDRkMjYuLmIyMmY4ZmM5MTNjNzljZWIyNTNmZGIwZDA3MjU0YTZmYTFj
NmM2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
LmgKQEAgLTE2OSw3ICsxNjksNiBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBDaGFuZ2VW
ZXJzaW9uV3JhcHBlcjsKICAgICBmcmllbmQgY2xhc3MgRGF0YWJhc2VNYW5hZ2VyOwogICAgIGZy
aWVuZCBjbGFzcyBEYXRhYmFzZVNlcnZlcjsgLy8gRklYTUU6IHJlbW92ZSB0aGlzIHdoZW4gdGhl
IGJhY2tlbmQgaGFzIGJlZW4gc3BsaXQgb3V0LgotICAgIGZyaWVuZCBjbGFzcyBTUUxTdGF0ZW1l
bnQ7CiAgICAgZnJpZW5kIGNsYXNzIFNRTFRyYW5zYWN0aW9uOwogICAgIGZyaWVuZCBjbGFzcyBT
UUxUcmFuc2FjdGlvbkJhY2tlbmQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmY2JjNWJiMjFkNjFlOWIxMTcxYzNhYTg3NTlkMDJkMTM3YzM0ODIzLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDkyICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUg
b2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJTUUxTdGF0ZW1lbnQuaCIKLQotI2luY2x1
ZGUgIkFic3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaCIKLSNpbmNsdWRlICJEYXRhYmFzZS5oIgotI2lu
Y2x1ZGUgIkRhdGFiYXNlTWFuYWdlci5oIgotI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRl
ICJTUUxFcnJvci5oIgotI2luY2x1ZGUgIlNRTFN0YXRlbWVudEJhY2tlbmQuaCIKLSNpbmNsdWRl
ICJTUUxTdGF0ZW1lbnRDYWxsYmFjay5oIgotI2luY2x1ZGUgIlNRTFN0YXRlbWVudEVycm9yQ2Fs
bGJhY2suaCIKLSNpbmNsdWRlICJTUUxUcmFuc2FjdGlvbi5oIgotI2luY2x1ZGUgIlNRTFZhbHVl
LmgiCi0jaW5jbHVkZSAiU1FMaXRlRGF0YWJhc2UuaCIKLSNpbmNsdWRlICJTUUxpdGVTdGF0ZW1l
bnQuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotU1FMU3RhdGVtZW50OjpTUUxTdGF0ZW1lbnQoRGF0YWJhc2UmIGRhdGFiYXNlLCBQYXNz
UmVmUHRyPFNRTFN0YXRlbWVudENhbGxiYWNrPiBjYWxsYmFjaywgUGFzc1JlZlB0cjxTUUxTdGF0
ZW1lbnRFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQotICAgIDogbV9zdGF0ZW1lbnRDYWxs
YmFja1dyYXBwZXIoY2FsbGJhY2ssIGRhdGFiYXNlLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkK
LSAgICAsIG1fc3RhdGVtZW50RXJyb3JDYWxsYmFja1dyYXBwZXIoZXJyb3JDYWxsYmFjaywgZGF0
YWJhc2Uuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQotewotfQotCi12b2lkIFNRTFN0YXRlbWVu
dDo6c2V0QmFja2VuZChTUUxTdGF0ZW1lbnRCYWNrZW5kKiBiYWNrZW5kKQotewotICAgIG1fYmFj
a2VuZCA9IGJhY2tlbmQ7Ci19Ci0KLWJvb2wgU1FMU3RhdGVtZW50OjpoYXNDYWxsYmFjaygpCi17
Ci0gICAgcmV0dXJuIG1fc3RhdGVtZW50Q2FsbGJhY2tXcmFwcGVyLmhhc0NhbGxiYWNrKCk7Ci19
Ci0KLWJvb2wgU1FMU3RhdGVtZW50OjpoYXNFcnJvckNhbGxiYWNrKCkKLXsKLSAgICByZXR1cm4g
bV9zdGF0ZW1lbnRFcnJvckNhbGxiYWNrV3JhcHBlci5oYXNDYWxsYmFjaygpOwotfQotCi1ib29s
IFNRTFN0YXRlbWVudDo6cGVyZm9ybUNhbGxiYWNrKFNRTFRyYW5zYWN0aW9uKiB0cmFuc2FjdGlv
bikKLXsKLSAgICBBU1NFUlQodHJhbnNhY3Rpb24pOwotICAgIEFTU0VSVChtX2JhY2tlbmQpOwot
Ci0gICAgYm9vbCBjYWxsYmFja0Vycm9yID0gZmFsc2U7Ci0KLSAgICBSZWZQdHI8U1FMU3RhdGVt
ZW50Q2FsbGJhY2s+IGNhbGxiYWNrID0gbV9zdGF0ZW1lbnRDYWxsYmFja1dyYXBwZXIudW53cmFw
KCk7Ci0gICAgUmVmUHRyPFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sg
PSBtX3N0YXRlbWVudEVycm9yQ2FsbGJhY2tXcmFwcGVyLnVud3JhcCgpOwotICAgIFJlZlB0cjxT
UUxFcnJvcj4gZXJyb3IgPSBtX2JhY2tlbmQtPnNxbEVycm9yKCk7Ci0KLSAgICAvLyBDYWxsIHRo
ZSBhcHByb3ByaWF0ZSBzdGF0ZW1lbnQgY2FsbGJhY2sgYW5kIHRyYWNrIGlmIGl0IHJlc3VsdGVk
IGluIGFuIGVycm9yLAotICAgIC8vIGJlY2F1c2UgdGhlbiB3ZSBuZWVkIHRvIGp1bXAgdG8gdGhl
IHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrLgotICAgIGlmIChlcnJvcikgewotICAgICAgICBp
ZiAoZXJyb3JDYWxsYmFjaykKLSAgICAgICAgICAgIGNhbGxiYWNrRXJyb3IgPSBlcnJvckNhbGxi
YWNrLT5oYW5kbGVFdmVudCh0cmFuc2FjdGlvbiwgZXJyb3IuZ2V0KCkpOwotICAgIH0gZWxzZSBp
ZiAoY2FsbGJhY2spIHsKLSAgICAgICAgUmVmUHRyPFNRTFJlc3VsdFNldD4gcmVzdWx0U2V0ID0g
bV9iYWNrZW5kLT5zcWxSZXN1bHRTZXQoKTsKLSAgICAgICAgY2FsbGJhY2tFcnJvciA9ICFjYWxs
YmFjay0+aGFuZGxlRXZlbnQodHJhbnNhY3Rpb24sIHJlc3VsdFNldC5nZXQoKSk7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIGNhbGxiYWNrRXJyb3I7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRlbWVudC5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5N2E4ZjkyN2ZkZmVlMTYxNGIwMDU1YmYx
OWY0NDRmZmI2YjQ0NjNjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50LmgK
KysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA3
LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUg
bmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwot
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0jaWZuZGVmIFNRTFN0YXRlbWVudF9oCi0jZGVmaW5l
IFNRTFN0YXRlbWVudF9oCi0KLSNpbmNsdWRlICJTUUxDYWxsYmFja1dyYXBwZXIuaCIKLSNpbmNs
dWRlICJTUUxSZXN1bHRTZXQuaCIKLSNpbmNsdWRlICJTUUxWYWx1ZS5oIgotI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERhdGFiYXNlOwot
Y2xhc3MgU1FMRXJyb3I7Ci1jbGFzcyBTUUxTdGF0ZW1lbnRCYWNrZW5kOwotY2xhc3MgU1FMU3Rh
dGVtZW50Q2FsbGJhY2s7Ci1jbGFzcyBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrOwotY2xhc3Mg
U1FMVHJhbnNhY3Rpb247Ci0KLWNsYXNzIFNRTFN0YXRlbWVudCB7Ci1wdWJsaWM6Ci0gICAgU1FM
U3RhdGVtZW50KERhdGFiYXNlJiwgUGFzc1JlZlB0cjxTUUxTdGF0ZW1lbnRDYWxsYmFjaz4sIFBh
c3NSZWZQdHI8U1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjaz4pOwotCi0gICAgYm9vbCBwZXJmb3Jt
Q2FsbGJhY2soU1FMVHJhbnNhY3Rpb24qKTsKLQotICAgIHZvaWQgc2V0QmFja2VuZChTUUxTdGF0
ZW1lbnRCYWNrZW5kKik7Ci0KLSAgICBib29sIGhhc0NhbGxiYWNrKCk7Ci0gICAgYm9vbCBoYXNF
cnJvckNhbGxiYWNrKCk7Ci0KLXByaXZhdGU6Ci0gICAgLy8gVGhlIFNRTFN0YXRlbWVudEJhY2tl
bmQgb3ducyB0aGUgU1FMU3RhdGVtZW50LiBIZW5jZSwgdGhlIGJhY2tlbmQgaXMKLSAgICAvLyBn
dWFyYW50ZWVkIHRvIGJlIG91dGxpdmUgdGhlIFNRTFN0YXRlbWVudCwgYW5kIGl0IGlzIHNhZmUg
Zm9yIHVzIHRvIHJlZmVyCi0gICAgLy8gdG8gdGhlIGJhY2tlbmQgdXNpbmcgYSByYXcgcG9pbnRl
ciBoZXJlLgotICAgIFNRTFN0YXRlbWVudEJhY2tlbmQqIG1fYmFja2VuZDsKLQotICAgIFNRTENh
bGxiYWNrV3JhcHBlcjxTUUxTdGF0ZW1lbnRDYWxsYmFjaz4gbV9zdGF0ZW1lbnRDYWxsYmFja1dy
YXBwZXI7Ci0gICAgU1FMQ2FsbGJhY2tXcmFwcGVyPFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2s+
IG1fc3RhdGVtZW50RXJyb3JDYWxsYmFja1dyYXBwZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBTUUxTdGF0ZW1lbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5kLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5jcHAKaW5k
ZXggYTYxOGY2NjFmMjU5YjZjNzUwYzI1YzYwY2E4Y2M3MDQzMjUzZTAwYS4uNmY1OWZlYjkxNzlh
Y2IzMjI5MzdkNmUyZTMyZTU2N2Y4ZWM3NDJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRlbWVudEJhY2tlbmQuY3BwCkBAIC0z
Miw3ICszMiw2IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlNRTEVycm9yLmgi
CiAjaW5jbHVkZSAiU1FMUmVzdWx0U2V0LmgiCi0jaW5jbHVkZSAiU1FMU3RhdGVtZW50LmgiCiAj
aW5jbHVkZSAiU1FMU3RhdGVtZW50Q2FsbGJhY2suaCIKICNpbmNsdWRlICJTUUxTdGF0ZW1lbnRF
cnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiU1FMVmFsdWUuaCIKQEAgLTc1LDI3ICs3NCwxOSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNRTFN0YXRlbWVudEJhY2tlbmQ6OlNRTFN0YXRl
bWVudEJhY2tlbmQoc3RkOjp1bmlxdWVfcHRyPFNRTFN0YXRlbWVudD4gZnJvbnRlbmQsCi0gICAg
Y29uc3QgU3RyaW5nJiBzdGF0ZW1lbnQsIGNvbnN0IFZlY3RvcjxTUUxWYWx1ZT4mIGFyZ3VtZW50
cywgaW50IHBlcm1pc3Npb25zKQotICAgIDogbV9mcm9udGVuZChXVEY6Om1vdmUoZnJvbnRlbmQp
KQotICAgICwgbV9zdGF0ZW1lbnQoc3RhdGVtZW50Lmlzb2xhdGVkQ29weSgpKQorU1FMU3RhdGVt
ZW50QmFja2VuZDo6U1FMU3RhdGVtZW50QmFja2VuZChEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0
IFN0cmluZyYgc3RhdGVtZW50LCBjb25zdCBWZWN0b3I8U1FMVmFsdWU+JiBhcmd1bWVudHMsIFBh
c3NSZWZQdHI8U1FMU3RhdGVtZW50Q2FsbGJhY2s+IGNhbGxiYWNrLCBQYXNzUmVmUHRyPFNRTFN0
YXRlbWVudEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIGludCBwZXJtaXNzaW9ucykKKyAg
ICA6IG1fc3RhdGVtZW50KHN0YXRlbWVudC5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fYXJndW1l
bnRzKGFyZ3VtZW50cykKLSAgICAsIG1faGFzQ2FsbGJhY2sobV9mcm9udGVuZC0+aGFzQ2FsbGJh
Y2soKSkKLSAgICAsIG1faGFzRXJyb3JDYWxsYmFjayhtX2Zyb250ZW5kLT5oYXNFcnJvckNhbGxi
YWNrKCkpCisgICAgLCBtX3N0YXRlbWVudENhbGxiYWNrV3JhcHBlcihjYWxsYmFjaywgZGF0YWJh
c2Uuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQorICAgICwgbV9zdGF0ZW1lbnRFcnJvckNhbGxi
YWNrV3JhcHBlcihlcnJvckNhbGxiYWNrLCBkYXRhYmFzZS5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpCiAgICAgLCBtX3Blcm1pc3Npb25zKHBlcm1pc3Npb25zKQogewotICAgIG1fZnJvbnRlbmQt
PnNldEJhY2tlbmQodGhpcyk7CiB9CiAKIFNRTFN0YXRlbWVudEJhY2tlbmQ6On5TUUxTdGF0ZW1l
bnRCYWNrZW5kKCkKIHsKIH0KIAotU1FMU3RhdGVtZW50KiBTUUxTdGF0ZW1lbnRCYWNrZW5kOjpm
cm9udGVuZCgpCi17Ci0gICAgcmV0dXJuIG1fZnJvbnRlbmQuZ2V0KCk7Ci19Ci0KIFBhc3NSZWZQ
dHI8U1FMRXJyb3I+IFNRTFN0YXRlbWVudEJhY2tlbmQ6OnNxbEVycm9yKCkgY29uc3QKIHsKICAg
ICByZXR1cm4gbV9lcnJvcjsKQEAgLTIwOCw2ICsxOTksMjkgQEAgYm9vbCBTUUxTdGF0ZW1lbnRC
YWNrZW5kOjpleGVjdXRlKERhdGFiYXNlJiBkYikKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9v
bCBTUUxTdGF0ZW1lbnRCYWNrZW5kOjpwZXJmb3JtQ2FsbGJhY2soU1FMVHJhbnNhY3Rpb24qIHRy
YW5zYWN0aW9uKQoreworICAgIEFTU0VSVCh0cmFuc2FjdGlvbik7CisKKyAgICBib29sIGNhbGxi
YWNrRXJyb3IgPSBmYWxzZTsKKworICAgIFJlZlB0cjxTUUxTdGF0ZW1lbnRDYWxsYmFjaz4gY2Fs
bGJhY2sgPSBtX3N0YXRlbWVudENhbGxiYWNrV3JhcHBlci51bndyYXAoKTsKKyAgICBSZWZQdHI8
U1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IG1fc3RhdGVtZW50RXJy
b3JDYWxsYmFja1dyYXBwZXIudW53cmFwKCk7CisgICAgUmVmUHRyPFNRTEVycm9yPiBlcnJvciA9
IHNxbEVycm9yKCk7CisKKyAgICAvLyBDYWxsIHRoZSBhcHByb3ByaWF0ZSBzdGF0ZW1lbnQgY2Fs
bGJhY2sgYW5kIHRyYWNrIGlmIGl0IHJlc3VsdGVkIGluIGFuIGVycm9yLAorICAgIC8vIGJlY2F1
c2UgdGhlbiB3ZSBuZWVkIHRvIGp1bXAgdG8gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNr
LgorICAgIGlmIChlcnJvcikgeworICAgICAgICBpZiAoZXJyb3JDYWxsYmFjaykKKyAgICAgICAg
ICAgIGNhbGxiYWNrRXJyb3IgPSBlcnJvckNhbGxiYWNrLT5oYW5kbGVFdmVudCh0cmFuc2FjdGlv
biwgZXJyb3IuZ2V0KCkpOworICAgIH0gZWxzZSBpZiAoY2FsbGJhY2spIHsKKyAgICAgICAgUmVm
UHRyPFNRTFJlc3VsdFNldD4gcmVzdWx0U2V0ID0gc3FsUmVzdWx0U2V0KCk7CisgICAgICAgIGNh
bGxiYWNrRXJyb3IgPSAhY2FsbGJhY2stPmhhbmRsZUV2ZW50KHRyYW5zYWN0aW9uLCByZXN1bHRT
ZXQuZ2V0KCkpOworICAgIH0KKworICAgIHJldHVybiBjYWxsYmFja0Vycm9yOworfQorCiB2b2lk
IFNRTFN0YXRlbWVudEJhY2tlbmQ6OnNldERhdGFiYXNlRGVsZXRlZEVycm9yKCkKIHsKICAgICBB
U1NFUlQoIW1fZXJyb3IgJiYgIW1fcmVzdWx0U2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5kLmgKaW5kZXggNTk1
MTBiNTBiY2Q0MzRkMTE5ZmU3NGJiOTBlMDEyNjcwMjJmOGY0ZS4uZjg5YWViOWQ1ODQxNGZjMDNm
Mjg5NWQyNTQxNGU2ZWQ4MzE0N2MwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5kLmgKQEAgLTIwLDcgKzIwLDcg
QEAKICAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKICAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCiAgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyAgIE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECiAgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCiAgKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgpAQCAtMjgsNiArMjgsOSBAQAogI2lmbmRlZiBTUUxTdGF0ZW1lbnRCYWNrZW5kX2gKICNkZWZp
bmUgU1FMU3RhdGVtZW50QmFja2VuZF9oCiAKKyNpbmNsdWRlICJTUUxDYWxsYmFja1dyYXBwZXIu
aCIKKyNpbmNsdWRlICJTUUxTdGF0ZW1lbnRDYWxsYmFjay5oIgorI2luY2x1ZGUgIlNRTFN0YXRl
bWVudEVycm9yQ2FsbGJhY2suaCIKICNpbmNsdWRlICJTUUxWYWx1ZS5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtMzgsMjQgKzQxLDIzIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERhdGFiYXNlOwogY2xhc3MgU1FMRXJyb3I7CiBj
bGFzcyBTUUxSZXN1bHRTZXQ7Ci1jbGFzcyBTUUxTdGF0ZW1lbnQ7CiBjbGFzcyBTUUxUcmFuc2Fj
dGlvbkJhY2tlbmQ7CiAKIGNsYXNzIFNRTFN0YXRlbWVudEJhY2tlbmQgewogcHVibGljOgotICAg
IFNRTFN0YXRlbWVudEJhY2tlbmQoc3RkOjp1bmlxdWVfcHRyPFNRTFN0YXRlbWVudD4sIGNvbnN0
IFN0cmluZyYgc3RhdGVtZW50LCBjb25zdCBWZWN0b3I8U1FMVmFsdWU+JiBhcmd1bWVudHMsIGlu
dCBwZXJtaXNzaW9ucyk7CisgICAgU1FMU3RhdGVtZW50QmFja2VuZChEYXRhYmFzZSYsIGNvbnN0
IFN0cmluZyYsIGNvbnN0IFZlY3RvcjxTUUxWYWx1ZT4mLCBQYXNzUmVmUHRyPFNRTFN0YXRlbWVu
dENhbGxiYWNrPiwgUGFzc1JlZlB0cjxTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrPiwgaW50IHBl
cm1pc3Npb25zKTsKICAgICB+U1FMU3RhdGVtZW50QmFja2VuZCgpOwogCiAgICAgYm9vbCBleGVj
dXRlKERhdGFiYXNlJik7CiAgICAgYm9vbCBsYXN0RXhlY3V0aW9uRmFpbGVkRHVlVG9RdW90YSgp
IGNvbnN0OwogCi0gICAgYm9vbCBoYXNTdGF0ZW1lbnRDYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJu
IG1faGFzQ2FsbGJhY2s7IH0KLSAgICBib29sIGhhc1N0YXRlbWVudEVycm9yQ2FsbGJhY2soKSBj
b25zdCB7IHJldHVybiBtX2hhc0Vycm9yQ2FsbGJhY2s7IH0KKyAgICBib29sIGhhc1N0YXRlbWVu
dENhbGxiYWNrKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZW1lbnRDYWxsYmFja1dyYXBwZXIuaGFz
Q2FsbGJhY2soKTsgfQorICAgIGJvb2wgaGFzU3RhdGVtZW50RXJyb3JDYWxsYmFjaygpIGNvbnN0
IHsgcmV0dXJuIG1fc3RhdGVtZW50RXJyb3JDYWxsYmFja1dyYXBwZXIuaGFzQ2FsbGJhY2soKTsg
fQorICAgIGJvb2wgcGVyZm9ybUNhbGxiYWNrKFNRTFRyYW5zYWN0aW9uKik7CiAKICAgICB2b2lk
IHNldERhdGFiYXNlRGVsZXRlZEVycm9yKCk7CiAgICAgdm9pZCBzZXRWZXJzaW9uTWlzbWF0Y2hl
ZEVycm9yKCk7CiAKLSAgICBTUUxTdGF0ZW1lbnQqIGZyb250ZW5kKCk7CiAgICAgUGFzc1JlZlB0
cjxTUUxFcnJvcj4gc3FsRXJyb3IoKSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFNRTFJlc3VsdFNl
dD4gc3FsUmVzdWx0U2V0KCkgY29uc3Q7CiAKQEAgLTYzLDExICs2NSwxMCBAQCBwcml2YXRlOgog
ICAgIHZvaWQgc2V0RmFpbHVyZUR1ZVRvUXVvdGEoKTsKICAgICB2b2lkIGNsZWFyRmFpbHVyZUR1
ZVRvUXVvdGEoKTsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxTUUxTdGF0ZW1lbnQ+IG1fZnJvbnRl
bmQ7CiAgICAgU3RyaW5nIG1fc3RhdGVtZW50OwogICAgIFZlY3RvcjxTUUxWYWx1ZT4gbV9hcmd1
bWVudHM7Ci0gICAgYm9vbCBtX2hhc0NhbGxiYWNrOwotICAgIGJvb2wgbV9oYXNFcnJvckNhbGxi
YWNrOworICAgIFNRTENhbGxiYWNrV3JhcHBlcjxTUUxTdGF0ZW1lbnRDYWxsYmFjaz4gbV9zdGF0
ZW1lbnRDYWxsYmFja1dyYXBwZXI7CisgICAgU1FMQ2FsbGJhY2tXcmFwcGVyPFNRTFN0YXRlbWVu
dEVycm9yQ2FsbGJhY2s+IG1fc3RhdGVtZW50RXJyb3JDYWxsYmFja1dyYXBwZXI7CiAKICAgICBS
ZWZQdHI8U1FMRXJyb3I+IG1fZXJyb3I7CiAgICAgUmVmUHRyPFNRTFJlc3VsdFNldD4gbV9yZXN1
bHRTZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NR
TFRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FM
VHJhbnNhY3Rpb24uY3BwCmluZGV4IGIyNjY3ZDlmZDZjYzg1NWE5MDYyNGMwMDliMWQ4MDcwMjJh
Njc3MWEuLjljMGMzM2IzNzk4MDcyOTI0NzRmNDJiOTA2OThmMzQzNjc5NDA4ZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24u
Y3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTUUxFcnJvci5oIgorI2luY2x1ZGUgIlNRTFN0YXRl
bWVudEJhY2tlbmQuaCIKICNpbmNsdWRlICJTUUxTdGF0ZW1lbnRDYWxsYmFjay5oIgogI2luY2x1
ZGUgIlNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCIKICNpbmNsdWRlICJTUUxUcmFuc2FjdGlv
bkJhY2tlbmQuaCIKQEAgLTE4NCw3ICsxODUsNyBAQCBTUUxUcmFuc2FjdGlvblN0YXRlIFNRTFRy
YW5zYWN0aW9uOjpkZWxpdmVyU3RhdGVtZW50Q2FsbGJhY2soKQogICAgIC8vIE90aGVyd2lzZSwg
Y29udGludWUgdG8gbG9vcCB0aHJvdWdoIHRoZSBzdGF0ZW1lbnQgcXVldWUKICAgICBtX2V4ZWN1
dGVTcWxBbGxvd2VkID0gdHJ1ZTsKIAotICAgIFNRTFN0YXRlbWVudCogY3VycmVudFN0YXRlbWVu
dCA9IG1fYmFja2VuZC0+Y3VycmVudFN0YXRlbWVudCgpOworICAgIFNRTFN0YXRlbWVudEJhY2tl
bmQqIGN1cnJlbnRTdGF0ZW1lbnQgPSBtX2JhY2tlbmQtPmN1cnJlbnRTdGF0ZW1lbnQoKTsKICAg
ICBBU1NFUlQoY3VycmVudFN0YXRlbWVudCk7CiAKICAgICBib29sIHJlc3VsdCA9IGN1cnJlbnRT
dGF0ZW1lbnQtPnBlcmZvcm1DYWxsYmFjayh0aGlzKTsKQEAgLTI1Nyw4ICsyNTgsOCBAQCB2b2lk
IFNRTFRyYW5zYWN0aW9uOjpleGVjdXRlU1FMKGNvbnN0IFN0cmluZyYgc3FsU3RhdGVtZW50LCBj
b25zdCBWZWN0b3I8U1FMVmFsdQogICAgIGVsc2UgaWYgKG1fcmVhZE9ubHkpCiAgICAgICAgIHBl
cm1pc3Npb25zIHw9IERhdGFiYXNlQXV0aG9yaXplcjo6UmVhZE9ubHlNYXNrOwogCi0gICAgYXV0
byBzdGF0ZW1lbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFNRTFN0YXRlbWVudD4obV9kYXRhYmFzZSwg
V1RGOjptb3ZlKGNhbGxiYWNrKSwgV1RGOjptb3ZlKGNhbGxiYWNrRXJyb3IpKTsKLSAgICBtX2Jh
Y2tlbmQtPmV4ZWN1dGVTUUwoV1RGOjptb3ZlKHN0YXRlbWVudCksIHNxbFN0YXRlbWVudCwgYXJn
dW1lbnRzLCBwZXJtaXNzaW9ucyk7CisgICAgYXV0byBzdGF0ZW1lbnQgPSBzdGQ6Om1ha2VfdW5p
cXVlPFNRTFN0YXRlbWVudEJhY2tlbmQ+KG1fZGF0YWJhc2UsIHNxbFN0YXRlbWVudCwgYXJndW1l
bnRzLCBXVEY6Om1vdmUoY2FsbGJhY2spLCBXVEY6Om1vdmUoY2FsbGJhY2tFcnJvciksIHBlcm1p
c3Npb25zKTsKKyAgICBtX2JhY2tlbmQtPmV4ZWN1dGVTUUwoV1RGOjptb3ZlKHN0YXRlbWVudCkp
OwogfQogCiBib29sIFNRTFRyYW5zYWN0aW9uOjpjb21wdXRlTmV4dFN0YXRlQW5kQ2xlYW51cElm
TmVlZGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
U1FMVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FM
VHJhbnNhY3Rpb24uaAppbmRleCBiYmNkNWVhZjFmMTg3OThhODY4ODlmYzA4Y2ZkMGJkYWNmMGFj
NzQ1Li44NDcxZTIzYjg1OGIzYmU0NDllODk2MmZiMzg0ZTAxN2M0OWYyN2I3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oCkBA
IC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIFNRTFRyYW5zYWN0aW9uX2gKIAogI2luY2x1ZGUgIlNR
TENhbGxiYWNrV3JhcHBlci5oIgotI2luY2x1ZGUgIlNRTFN0YXRlbWVudC5oIgogI2luY2x1ZGUg
IlNRTFRyYW5zYWN0aW9uU3RhdGVNYWNoaW5lLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAKaW5kZXggZDk1
YzkwYTQxYjhhMzM0YmRkNmQyNzRjZDc5MWEyMWNjYjA4MzE0Ni4uM2VkNzNjMTBkYjk3ZGNmMjUz
ZWMwMTIyNDE0YzY3M2JkNmM2ZTUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmNwcApAQCAtNDIz
LDkgKzQyMyw5IEBAIHZvaWQgU1FMVHJhbnNhY3Rpb25CYWNrZW5kOjpkb0NsZWFudXAoKQogICAg
IG1fd3JhcHBlciA9IG51bGxwdHI7CiB9CiAKLVNRTFN0YXRlbWVudCogU1FMVHJhbnNhY3Rpb25C
YWNrZW5kOjpjdXJyZW50U3RhdGVtZW50KCkKK1NRTFN0YXRlbWVudEJhY2tlbmQqIFNRTFRyYW5z
YWN0aW9uQmFja2VuZDo6Y3VycmVudFN0YXRlbWVudCgpCiB7Ci0gICAgcmV0dXJuIG1fY3VycmVu
dFN0YXRlbWVudEJhY2tlbmQtPmZyb250ZW5kKCk7CisgICAgcmV0dXJuIG1fY3VycmVudFN0YXRl
bWVudEJhY2tlbmQuZ2V0KCk7CiB9CiAKIFBhc3NSZWZQdHI8U1FMRXJyb3I+IFNRTFRyYW5zYWN0
aW9uQmFja2VuZDo6dHJhbnNhY3Rpb25FcnJvcigpCkBAIC01MjMsMTAgKzUyMyw4IEBAIGJvb2wg
U1FMVHJhbnNhY3Rpb25CYWNrZW5kOjpzaG91bGRQZXJmb3JtV2hpbGVQYXVzZWQoKSBjb25zdAog
fQogI2VuZGlmCiAKLXZvaWQgU1FMVHJhbnNhY3Rpb25CYWNrZW5kOjpleGVjdXRlU1FMKHN0ZDo6
dW5pcXVlX3B0cjxTUUxTdGF0ZW1lbnQ+IHN0YXRlbWVudCwgY29uc3QgU3RyaW5nJiBzcWxTdGF0
ZW1lbnQsIGNvbnN0IFZlY3RvcjxTUUxWYWx1ZT4mIGFyZ3VtZW50cywgaW50IHBlcm1pc3Npb25z
KQordm9pZCBTUUxUcmFuc2FjdGlvbkJhY2tlbmQ6OmV4ZWN1dGVTUUwoc3RkOjp1bmlxdWVfcHRy
PFNRTFN0YXRlbWVudEJhY2tlbmQ+IHN0YXRlbWVudEJhY2tlbmQpCiB7Ci0gICAgYXV0byBzdGF0
ZW1lbnRCYWNrZW5kID0gc3RkOjptYWtlX3VuaXF1ZTxTUUxTdGF0ZW1lbnRCYWNrZW5kPihXVEY6
Om1vdmUoc3RhdGVtZW50KSwgc3FsU3RhdGVtZW50LCBhcmd1bWVudHMsIHBlcm1pc3Npb25zKTsK
LQogICAgIGlmIChtX2RhdGFiYXNlLT5kZWxldGVkKCkpCiAgICAgICAgIHN0YXRlbWVudEJhY2tl
bmQtPnNldERhdGFiYXNlRGVsZXRlZEVycm9yKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5oCmluZGV4
IGUyYmZlOWFmN2RiNTUzYmJlMDgyNjUxYTk2MmVjMzQ2ZmQ2ZjM3OWQuLmNhYzhjMmZlMmI1ZGQ1
YzE5MjYzZmM4YzI2ZDk5NDY4YzczYTIwZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkJhY2tlbmQuaApAQCAtNDIs
NyArNDIsNiBAQCBjbGFzcyBEYXRhYmFzZTsKIGNsYXNzIE9yaWdpbkxvY2s7CiBjbGFzcyBTUUxF
cnJvcjsKIGNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uOwotY2xhc3MgU1FMU3RhdGVtZW50OwogY2xh
c3MgU1FMU3RhdGVtZW50QmFja2VuZDsKIGNsYXNzIFNRTFRyYW5zYWN0aW9uOwogY2xhc3MgU1FM
VHJhbnNhY3Rpb25CYWNrZW5kOwpAQCAtNzcsOSArNzYsOSBAQCBwdWJsaWM6CiAgICAgLy8gQVBJ
cyBjYWxsZWQgZnJvbSB0aGUgZnJvbnRlbmQgcHVibGlzaGVkIHZpYSBTUUxUcmFuc2FjdGlvbkJh
Y2tlbmQ6CiAgICAgdm9pZCByZXF1ZXN0VHJhbnNpdFRvU3RhdGUoU1FMVHJhbnNhY3Rpb25TdGF0
ZSk7CiAgICAgUGFzc1JlZlB0cjxTUUxFcnJvcj4gdHJhbnNhY3Rpb25FcnJvcigpOwotICAgIFNR
TFN0YXRlbWVudCogY3VycmVudFN0YXRlbWVudCgpOworICAgIFNRTFN0YXRlbWVudEJhY2tlbmQq
IGN1cnJlbnRTdGF0ZW1lbnQoKTsKICAgICB2b2lkIHNldFNob3VsZFJldHJ5Q3VycmVudFN0YXRl
bWVudChib29sKTsKLSAgICB2b2lkIGV4ZWN1dGVTUUwoc3RkOjp1bmlxdWVfcHRyPFNRTFN0YXRl
bWVudD4sIGNvbnN0IFN0cmluZyYgc3RhdGVtZW50LCBjb25zdCBWZWN0b3I8U1FMVmFsdWU+JiBh
cmd1bWVudHMsIGludCBwZXJtaXNzaW9ucyk7CisgICAgdm9pZCBleGVjdXRlU1FMKHN0ZDo6dW5p
cXVlX3B0cjxTUUxTdGF0ZW1lbnRCYWNrZW5kPik7CiAgICAgCiBwcml2YXRlOgogICAgIFNRTFRy
YW5zYWN0aW9uQmFja2VuZChEYXRhYmFzZSosIFBhc3NSZWZQdHI8U1FMVHJhbnNhY3Rpb24+LCBQ
YXNzUmVmUHRyPFNRTFRyYW5zYWN0aW9uV3JhcHBlcj4sIGJvb2wgcmVhZE9ubHkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMjNhODky
MDFhMGY3YTE0OGM1YjIwYTJlZWM3MWVjMDBhMzZlMmNkYy4uNjA0OGVjNTYzYWMzOTJjODlmYTJi
ZGE2NjQyMjg1YWFlZTk2OGQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCkBAIC02ODE5LDcgKzY4MTksNiBAQAogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxTUUxFeGNlcHRpb24uY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxTUUxSZXN1bHRTZXQu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxT
UUxSZXN1bHRTZXRSb3dMaXN0LmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1v
ZHVsZXNcd2ViZGF0YWJhc2VcU1FMU3RhdGVtZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcU1FMU3RhdGVtZW50QmFja2VuZC5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXFNRTFRyYW5z
YWN0aW9uLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0
YWJhc2VcU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmNwcCIgLz4KQEAgLTIwNTYyLDcgKzIwNTYxLDYg
QEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcU1FMRXhj
ZXB0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFi
YXNlXFNRTFJlc3VsdFNldC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxl
c1x3ZWJkYXRhYmFzZVxTUUxSZXN1bHRTZXRSb3dMaXN0LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXFNRTFN0YXRlbWVudC5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxTUUxTdGF0ZW1lbnRCYWNr
ZW5kLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNl
XFNRTFN0YXRlbWVudENhbGxiYWNrLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxN
b2R1bGVzXHdlYmRhdGFiYXNlXFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycwppbmRleCAwNDYzMjAxNTk2MjZlMmI3NTYyYTZjMThjYjY3MzQ3ZDUyNjU0ZmY2Li4yOGRi
ZmI1ZTE0NjgwMjI0MTRlOGNhY2JjY2I4MmQ4MmFlZGNjYjJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC01
MTYsOSArNTE2LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0
YWJhc2VcU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAiPgogICAgICAgPEZpbHRlcj5Nb2R1bGVzXHdl
YmRhdGFiYXNlPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXFNRTFN0YXRlbWVudC5jcHAiPgotICAgICAgPEZp
bHRlcj5Nb2R1bGVzXHdlYmRhdGFiYXNlPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXFNRTFN0YXRlbWVudEJh
Y2tlbmQuY3BwIj4KICAgICAgIDxGaWx0ZXI+TW9kdWxlc1x3ZWJkYXRhYmFzZTwvRmlsdGVyPgog
ICAgIDwvQ2xDb21waWxlPgpAQCAtNzQ5MCw5ICs3NDg3LDYgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcU1FMUmVzdWx0U2V0Um93TGlzdC5oIj4KICAg
ICAgIDxGaWx0ZXI+TW9kdWxlc1x3ZWJkYXRhYmFzZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxTUUxTdGF0
ZW1lbnQuaCI+Ci0gICAgICA8RmlsdGVyPk1vZHVsZXNcd2ViZGF0YWJhc2U8L0ZpbHRlcj4KLSAg
ICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0
YWJhc2VcU1FMU3RhdGVtZW50QmFja2VuZC5oIj4KICAgICAgIDxGaWx0ZXI+TW9kdWxlc1x3ZWJk
YXRhYmFzZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg4YTM4M2Q2YjNkYzA5YzAx
MTFmNThkNzlhYWNhNGE5YmNhMGFlZjkuLjdkYmJmZWRiOWVhZDMwOGY0MzZjMjM0ZGJjMjcyMjM4
YWYzNGY4Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTM3MjcsOCArMzcyNyw2IEBACiAJCTk3QkM2QTQyMTUwNUYwODEwMDFC
NzRBQyAvKiBTUUxSZXN1bHRTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk3QkM2QTAwMTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRTZXQuaCAq
LzsgfTsKIAkJOTdCQzZBNDQxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldFJvd0xpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzZB
MDIxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldFJvd0xpc3QuY3BwICovOyB9OwogCQk5
N0JDNkE0NTE1MDVGMDgxMDAxQjc0QUMgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzZBMDMxNTA1RjA4MTAw
MUI3NEFDIC8qIFNRTFJlc3VsdFNldFJvd0xpc3QuaCAqLzsgfTsKLQkJOTdCQzZBNDcxNTA1RjA4
MTAwMUI3NEFDIC8qIFNRTFN0YXRlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5N0JDNkEwNTE1MDVGMDgxMDAxQjc0QUMgLyogU1FMU3RhdGVt
ZW50LmNwcCAqLzsgfTsKLQkJOTdCQzZBNDgxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRlbWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzZB
MDYxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRlbWVudC5oICovOyB9OwogCQk5N0JDNkE0OTE1
MDVGMDgxMDAxQjc0QUMgLyogU1FMU3RhdGVtZW50Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QkM2QTA3MTUwNUYwODEwMDFCNzRBQyAv
KiBTUUxTdGF0ZW1lbnRDYWxsYmFjay5oICovOyB9OwogCQk5N0JDNkE0QjE1MDVGMDgxMDAxQjc0
QUMgLyogU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzZBMDkxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0
YXRlbWVudEVycm9yQ2FsbGJhY2suaCAqLzsgfTsKIAkJOTdCQzZBNEYxNTA1RjA4MTAwMUI3NEFD
IC8qIFNRTFRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk3QkM2QTBEMTUwNUYwODEwMDFCNzRBQyAvKiBTUUxUcmFuc2FjdGlvbi5j
cHAgKi87IH07CkBAIC0xMTA2Nyw4ICsxMTA2NSw2IEBACiAJCTk3QkM2QTAyMTUwNUYwODEwMDFC
NzRBQyAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNRTFJlc3VsdFNldFJvd0xpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5N0JDNkEwMzE1MDVGMDgxMDAxQjc0QUMgLyogU1FMUmVzdWx0U2V0Um93TGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTUUxSZXN1bHRTZXRSb3dMaXN0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QkM2QTA0MTUwNUYwODEwMDFCNzRB
QyAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTUUxS
ZXN1bHRTZXRSb3dMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTdCQzZB
MDUxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTUUxTdGF0ZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk5N0JDNkEwNjE1MDVGMDgxMDAxQjc0QUMgLyogU1FMU3RhdGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNRTFN0YXRlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5N0JDNkEwNzE1MDVGMDgxMDAxQjc0QUMgLyogU1FMU3RhdGVt
ZW50Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1FMU3RhdGVt
ZW50Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdCQzZBMDgxNTA1
RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRlbWVudENhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBTUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTk3QkM2QTA5MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxi
YWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNRTFN0YXRlbWVudEVycm9y
Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4ODEwLDggKzE4ODA2
LDYgQEAKIAkJCQk5N0JDNkEwMjE1MDVGMDgxMDAxQjc0QUMgLyogU1FMUmVzdWx0U2V0Um93TGlz
dC5jcHAgKi8sCiAJCQkJOTdCQzZBMDMxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldFJv
d0xpc3QuaCAqLywKIAkJCQk5N0JDNkEwNDE1MDVGMDgxMDAxQjc0QUMgLyogU1FMUmVzdWx0U2V0
Um93TGlzdC5pZGwgKi8sCi0JCQkJOTdCQzZBMDUxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRl
bWVudC5jcHAgKi8sCi0JCQkJOTdCQzZBMDYxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRlbWVu
dC5oICovLAogCQkJCUZFOEE2NzQ1MTZDREQxOUUwMDkzMEJGOCAvKiBTUUxTdGF0ZW1lbnRCYWNr
ZW5kLmNwcCAqLywKIAkJCQlGRThBNjc0NjE2Q0REMTlFMDA5MzBCRjggLyogU1FMU3RhdGVtZW50
QmFja2VuZC5oICovLAogCQkJCTk3QkM2QTA3MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1l
bnRDYWxsYmFjay5oICovLApAQCAtMjY3MjYsNyArMjY3MjAsNiBAQAogCQkJCTFBMjI0NjRFMEND
OThEREIwMEMwNTI0MCAvKiBTUUxpdGVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdCQzZBNDIxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTdCQzZBNDUxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldFJvd0xpc3QuaCBp
biBIZWFkZXJzICovLAotCQkJCTk3QkM2QTQ4MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFOEE2NzQ4MTZDREQxOUUwMDkzMEJGOCAvKiBTUUxT
dGF0ZW1lbnRCYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JDNkE0OTE1MDVGMDgxMDAx
Qjc0QUMgLyogU1FMU3RhdGVtZW50Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QkM2
QTRCMTUwNUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLywKQEAgLTMwMTk1LDcgKzMwMTg4LDYgQEAKIAkJCQkxQTIyNDY0RDBDQzk4RERCMDBD
MDUyNDAgLyogU1FMaXRlVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdCQzZB
NDExNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5N0JDNkE0NDE1MDVGMDgxMDAxQjc0QUMgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQk5N0JDNkE0NzE1MDVGMDgxMDAxQjc0QUMgLyogU1FMU3RhdGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZFOEE2NzQ3MTZDREQxOUUwMDkzMEJGOCAvKiBTUUxT
dGF0ZW1lbnRCYWNrZW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QkM2QTRGMTUwNUYwODEw
MDFCNzRBQyAvKiBTUUxUcmFuc2FjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRUUxODEx
MzE2QzMxOUU4MDAwODQ4NDkgLyogU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTUUxUcmFuc2Fj
dGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0
aW9uQ3VzdG9tLmNwcAppbmRleCBiZDFhNmQ4OWE3YWNkMzBhMWFlODk4Y2Y4ODhkZTAwYzI5OTU3
MWU0Li4yNTI3MDgwYTM0ZDkyZWI1ZTM1MDJiODQ0YTNmY2VkNjE4M2QxZDQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9uQ3VzdG9tLmNw
cApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkpTU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFj
ay5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCiAjaW5jbHVkZSAiU1FMVHJhbnNh
Y3Rpb24uaCIKKyNpbmNsdWRlICJTUUxWYWx1ZS5oIgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258418</attachid>
            <date>2015-08-06 16:14:18 -0700</date>
            <delta_ts>2015-08-06 16:15:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147754-20150806161408.patch</filename>
            <type>text/plain</type>
            <size>28445</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMwMDk5MDhkMjcxZjcy
OGZmNjU2NzRlMzBkYzAxNDg1ODg2NDk5MS4uODk2MjYyNjJjMGU5YzVjZmU4YmM2MmVmNzIxNzNm
ZTdjMmJjZGFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE1LTA4LTA2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTWVyZ2UgU1FMU3Rh
dGVtZW50IGludG8gU1FMU3RhdGVtZW50QmFja2VuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3NzU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFz
ZS9TUUxTdGF0ZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6U1FMU3RhdGVt
ZW50OjpTUUxTdGF0ZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1FMU3RhdGVt
ZW50OjpzZXRCYWNrZW5kKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNRTFN0YXRlbWVu
dDo6aGFzQ2FsbGJhY2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1FMU3RhdGVtZW50
OjpoYXNFcnJvckNhbGxiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNRTFN0YXRl
bWVudDo6cGVyZm9ybUNhbGxiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL1NRTFN0YXRlbWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0
YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxTdGF0
ZW1lbnRCYWNrZW5kOjpTUUxTdGF0ZW1lbnRCYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlNR
TFN0YXRlbWVudEJhY2tlbmQ6OnBlcmZvcm1DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpT
UUxTdGF0ZW1lbnRCYWNrZW5kOjpmcm9udGVuZCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5kLmg6CisgICAgICAgIChXZWJDb3JlOjpT
UUxTdGF0ZW1lbnRCYWNrZW5kOjpoYXNTdGF0ZW1lbnRDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpTUUxTdGF0ZW1lbnRCYWNrZW5kOjpoYXNTdGF0ZW1lbnRFcnJvckNhbGxiYWNrKToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNRTFRyYW5zYWN0aW9uOjpkZWxpdmVyU3RhdGVtZW50Q2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rpb246OmV4ZWN1dGVTUUwpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
UUxUcmFuc2FjdGlvbkJhY2tlbmQ6OmN1cnJlbnRTdGF0ZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1FMVHJhbnNhY3Rpb25CYWNrZW5kOjpleGVjdXRlU1FMKToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5oOgorICAgICAgICAqIFdlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9uQ3VzdG9tLmNw
cDoKKwogMjAxNS0wOC0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFRvZ2dsZSBHUFMgc3RhdGUgYmFzZWQgb24gcGFnZSB2aXNpYmlsaXR5IHRvIHNhdmUgYmF0
dGVyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBhNGM5MTMzYjk1OWFkMzk4ODAyZDY4ZjlhZDNl
YWYyMDUwMDNiNmNjLi5kZGVjYWJjNDJkMDU1MjczMmQwZDQ4NzVlNGQ2M2E3OWE5NTU2ZjA1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTAxMyw3ICsxMDEzLDYgQEAgc2V0KFdlYkNvcmVfU09V
UkNFUwogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMRXhjZXB0aW9uLmNwcAogICAgIE1vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0LmNwcAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2Uv
U1FMUmVzdWx0U2V0Um93TGlzdC5jcHAKLSAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRl
bWVudC5jcHAKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRlbWVudEJhY2tlbmQuY3Bw
CiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5jcHAKICAgICBNb2R1bGVz
L3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaAppbmRleCA0NDk5MTdkZDZjNWJhZmRhZGRh
MGVmODczODk4YWVlZGNjNzA0ZDI2Li5iMjJmOGZjOTEzYzc5Y2ViMjUzZmRiMGQwNzI1NGE2ZmEx
YzZjNmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Rh
dGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFz
ZS5oCkBAIC0xNjksNyArMTY5LDYgQEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgQ2hhbmdl
VmVyc2lvbldyYXBwZXI7CiAgICAgZnJpZW5kIGNsYXNzIERhdGFiYXNlTWFuYWdlcjsKICAgICBm
cmllbmQgY2xhc3MgRGF0YWJhc2VTZXJ2ZXI7IC8vIEZJWE1FOiByZW1vdmUgdGhpcyB3aGVuIHRo
ZSBiYWNrZW5kIGhhcyBiZWVuIHNwbGl0IG91dC4KLSAgICBmcmllbmQgY2xhc3MgU1FMU3RhdGVt
ZW50OwogICAgIGZyaWVuZCBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKICAgICBmcmllbmQgY2xhc3Mg
U1FMVHJhbnNhY3Rpb25CYWNrZW5kOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZmNiYzViYjIxZDYxZTliMTE3MWMzYWE4NzU5ZDAyZDEzN2MzNDgyMy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRlbWVudC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw5MiAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0g
KiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiU1FMU3RhdGVtZW50LmgiCi0KLSNpbmNs
dWRlICJBYnN0cmFjdERhdGFiYXNlU2VydmVyLmgiCi0jaW5jbHVkZSAiRGF0YWJhc2UuaCIKLSNp
bmNsdWRlICJEYXRhYmFzZU1hbmFnZXIuaCIKLSNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVk
ZSAiU1FMRXJyb3IuaCIKLSNpbmNsdWRlICJTUUxTdGF0ZW1lbnRCYWNrZW5kLmgiCi0jaW5jbHVk
ZSAiU1FMU3RhdGVtZW50Q2FsbGJhY2suaCIKLSNpbmNsdWRlICJTUUxTdGF0ZW1lbnRFcnJvckNh
bGxiYWNrLmgiCi0jaW5jbHVkZSAiU1FMVHJhbnNhY3Rpb24uaCIKLSNpbmNsdWRlICJTUUxWYWx1
ZS5oIgotI2luY2x1ZGUgIlNRTGl0ZURhdGFiYXNlLmgiCi0jaW5jbHVkZSAiU1FMaXRlU3RhdGVt
ZW50LmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLVNRTFN0YXRlbWVudDo6U1FMU3RhdGVtZW50KERhdGFiYXNlJiBkYXRhYmFzZSwgUGFz
c1JlZlB0cjxTUUxTdGF0ZW1lbnRDYWxsYmFjaz4gY2FsbGJhY2ssIFBhc3NSZWZQdHI8U1FMU3Rh
dGVtZW50RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKLSAgICA6IG1fc3RhdGVtZW50Q2Fs
bGJhY2tXcmFwcGVyKGNhbGxiYWNrLCBkYXRhYmFzZS5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkp
Ci0gICAgLCBtX3N0YXRlbWVudEVycm9yQ2FsbGJhY2tXcmFwcGVyKGVycm9yQ2FsbGJhY2ssIGRh
dGFiYXNlLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLXsKLX0KLQotdm9pZCBTUUxTdGF0ZW1l
bnQ6OnNldEJhY2tlbmQoU1FMU3RhdGVtZW50QmFja2VuZCogYmFja2VuZCkKLXsKLSAgICBtX2Jh
Y2tlbmQgPSBiYWNrZW5kOwotfQotCi1ib29sIFNRTFN0YXRlbWVudDo6aGFzQ2FsbGJhY2soKQot
ewotICAgIHJldHVybiBtX3N0YXRlbWVudENhbGxiYWNrV3JhcHBlci5oYXNDYWxsYmFjaygpOwot
fQotCi1ib29sIFNRTFN0YXRlbWVudDo6aGFzRXJyb3JDYWxsYmFjaygpCi17Ci0gICAgcmV0dXJu
IG1fc3RhdGVtZW50RXJyb3JDYWxsYmFja1dyYXBwZXIuaGFzQ2FsbGJhY2soKTsKLX0KLQotYm9v
bCBTUUxTdGF0ZW1lbnQ6OnBlcmZvcm1DYWxsYmFjayhTUUxUcmFuc2FjdGlvbiogdHJhbnNhY3Rp
b24pCi17Ci0gICAgQVNTRVJUKHRyYW5zYWN0aW9uKTsKLSAgICBBU1NFUlQobV9iYWNrZW5kKTsK
LQotICAgIGJvb2wgY2FsbGJhY2tFcnJvciA9IGZhbHNlOwotCi0gICAgUmVmUHRyPFNRTFN0YXRl
bWVudENhbGxiYWNrPiBjYWxsYmFjayA9IG1fc3RhdGVtZW50Q2FsbGJhY2tXcmFwcGVyLnVud3Jh
cCgpOwotICAgIFJlZlB0cjxTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNr
ID0gbV9zdGF0ZW1lbnRFcnJvckNhbGxiYWNrV3JhcHBlci51bndyYXAoKTsKLSAgICBSZWZQdHI8
U1FMRXJyb3I+IGVycm9yID0gbV9iYWNrZW5kLT5zcWxFcnJvcigpOwotCi0gICAgLy8gQ2FsbCB0
aGUgYXBwcm9wcmlhdGUgc3RhdGVtZW50IGNhbGxiYWNrIGFuZCB0cmFjayBpZiBpdCByZXN1bHRl
ZCBpbiBhbiBlcnJvciwKLSAgICAvLyBiZWNhdXNlIHRoZW4gd2UgbmVlZCB0byBqdW1wIHRvIHRo
ZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjay4KLSAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAg
aWYgKGVycm9yQ2FsbGJhY2spCi0gICAgICAgICAgICBjYWxsYmFja0Vycm9yID0gZXJyb3JDYWxs
YmFjay0+aGFuZGxlRXZlbnQodHJhbnNhY3Rpb24sIGVycm9yLmdldCgpKTsKLSAgICB9IGVsc2Ug
aWYgKGNhbGxiYWNrKSB7Ci0gICAgICAgIFJlZlB0cjxTUUxSZXN1bHRTZXQ+IHJlc3VsdFNldCA9
IG1fYmFja2VuZC0+c3FsUmVzdWx0U2V0KCk7Ci0gICAgICAgIGNhbGxiYWNrRXJyb3IgPSAhY2Fs
bGJhY2stPmhhbmRsZUV2ZW50KHRyYW5zYWN0aW9uLCByZXN1bHRTZXQuZ2V0KCkpOwotICAgIH0K
LQotICAgIHJldHVybiBjYWxsYmFja0Vycm9yOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnQu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTdhOGY5MjdmZGZlZTE2MTRiMDA1NWJm
MTlmNDQ0ZmZiNmI0NDYzYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRlbWVudC5o
CisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
NywgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBJbmMuICgiQXBwbGUiKSBub3IgdGhl
IG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
LSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotI2lmbmRlZiBTUUxTdGF0ZW1lbnRfaAotI2RlZmlu
ZSBTUUxTdGF0ZW1lbnRfaAotCi0jaW5jbHVkZSAiU1FMQ2FsbGJhY2tXcmFwcGVyLmgiCi0jaW5j
bHVkZSAiU1FMUmVzdWx0U2V0LmgiCi0jaW5jbHVkZSAiU1FMVmFsdWUuaCIKLSNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBEYXRhYmFzZTsK
LWNsYXNzIFNRTEVycm9yOwotY2xhc3MgU1FMU3RhdGVtZW50QmFja2VuZDsKLWNsYXNzIFNRTFN0
YXRlbWVudENhbGxiYWNrOwotY2xhc3MgU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjazsKLWNsYXNz
IFNRTFRyYW5zYWN0aW9uOwotCi1jbGFzcyBTUUxTdGF0ZW1lbnQgewotcHVibGljOgotICAgIFNR
TFN0YXRlbWVudChEYXRhYmFzZSYsIFBhc3NSZWZQdHI8U1FMU3RhdGVtZW50Q2FsbGJhY2s+LCBQ
YXNzUmVmUHRyPFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2s+KTsKLQotICAgIGJvb2wgcGVyZm9y
bUNhbGxiYWNrKFNRTFRyYW5zYWN0aW9uKik7Ci0KLSAgICB2b2lkIHNldEJhY2tlbmQoU1FMU3Rh
dGVtZW50QmFja2VuZCopOwotCi0gICAgYm9vbCBoYXNDYWxsYmFjaygpOwotICAgIGJvb2wgaGFz
RXJyb3JDYWxsYmFjaygpOwotCi1wcml2YXRlOgotICAgIC8vIFRoZSBTUUxTdGF0ZW1lbnRCYWNr
ZW5kIG93bnMgdGhlIFNRTFN0YXRlbWVudC4gSGVuY2UsIHRoZSBiYWNrZW5kIGlzCi0gICAgLy8g
Z3VhcmFudGVlZCB0byBiZSBvdXRsaXZlIHRoZSBTUUxTdGF0ZW1lbnQsIGFuZCBpdCBpcyBzYWZl
IGZvciB1cyB0byByZWZlcgotICAgIC8vIHRvIHRoZSBiYWNrZW5kIHVzaW5nIGEgcmF3IHBvaW50
ZXIgaGVyZS4KLSAgICBTUUxTdGF0ZW1lbnRCYWNrZW5kKiBtX2JhY2tlbmQ7Ci0KLSAgICBTUUxD
YWxsYmFja1dyYXBwZXI8U1FMU3RhdGVtZW50Q2FsbGJhY2s+IG1fc3RhdGVtZW50Q2FsbGJhY2tX
cmFwcGVyOwotICAgIFNRTENhbGxiYWNrV3JhcHBlcjxTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNr
PiBtX3N0YXRlbWVudEVycm9yQ2FsbGJhY2tXcmFwcGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gU1FMU3RhdGVtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRlbWVudEJhY2tlbmQuY3BwCmlu
ZGV4IGE2MThmNjYxZjI1OWI2Yzc1MGMyNWM2MGNhOGNjNzA0MzI1M2UwMGEuLjZmNTlmZWI5MTc5
YWNiMzIyOTM3ZDZlMmUzMmU1NjdmOGVjNzQyZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRCYWNrZW5kLmNwcApAQCAt
MzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTUUxFcnJvci5o
IgogI2luY2x1ZGUgIlNRTFJlc3VsdFNldC5oIgotI2luY2x1ZGUgIlNRTFN0YXRlbWVudC5oIgog
I2luY2x1ZGUgIlNRTFN0YXRlbWVudENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiU1FMU3RhdGVtZW50
RXJyb3JDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNRTFZhbHVlLmgiCkBAIC03NSwyNyArNzQsMTkg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TUUxTdGF0ZW1lbnRCYWNrZW5kOjpTUUxTdGF0
ZW1lbnRCYWNrZW5kKHN0ZDo6dW5pcXVlX3B0cjxTUUxTdGF0ZW1lbnQ+IGZyb250ZW5kLAotICAg
IGNvbnN0IFN0cmluZyYgc3RhdGVtZW50LCBjb25zdCBWZWN0b3I8U1FMVmFsdWU+JiBhcmd1bWVu
dHMsIGludCBwZXJtaXNzaW9ucykKLSAgICA6IG1fZnJvbnRlbmQoV1RGOjptb3ZlKGZyb250ZW5k
KSkKLSAgICAsIG1fc3RhdGVtZW50KHN0YXRlbWVudC5pc29sYXRlZENvcHkoKSkKK1NRTFN0YXRl
bWVudEJhY2tlbmQ6OlNRTFN0YXRlbWVudEJhY2tlbmQoRGF0YWJhc2UmIGRhdGFiYXNlLCBjb25z
dCBTdHJpbmcmIHN0YXRlbWVudCwgY29uc3QgVmVjdG9yPFNRTFZhbHVlPiYgYXJndW1lbnRzLCBQ
YXNzUmVmUHRyPFNRTFN0YXRlbWVudENhbGxiYWNrPiBjYWxsYmFjaywgUGFzc1JlZlB0cjxTUUxT
dGF0ZW1lbnRFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBpbnQgcGVybWlzc2lvbnMpCisg
ICAgOiBtX3N0YXRlbWVudChzdGF0ZW1lbnQuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX2FyZ3Vt
ZW50cyhhcmd1bWVudHMpCi0gICAgLCBtX2hhc0NhbGxiYWNrKG1fZnJvbnRlbmQtPmhhc0NhbGxi
YWNrKCkpCi0gICAgLCBtX2hhc0Vycm9yQ2FsbGJhY2sobV9mcm9udGVuZC0+aGFzRXJyb3JDYWxs
YmFjaygpKQorICAgICwgbV9zdGF0ZW1lbnRDYWxsYmFja1dyYXBwZXIoY2FsbGJhY2ssIGRhdGFi
YXNlLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAsIG1fc3RhdGVtZW50RXJyb3JDYWxs
YmFja1dyYXBwZXIoZXJyb3JDYWxsYmFjaywgZGF0YWJhc2Uuc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKQogICAgICwgbV9wZXJtaXNzaW9ucyhwZXJtaXNzaW9ucykKIHsKLSAgICBtX2Zyb250ZW5k
LT5zZXRCYWNrZW5kKHRoaXMpOwogfQogCiBTUUxTdGF0ZW1lbnRCYWNrZW5kOjp+U1FMU3RhdGVt
ZW50QmFja2VuZCgpCiB7CiB9CiAKLVNRTFN0YXRlbWVudCogU1FMU3RhdGVtZW50QmFja2VuZDo6
ZnJvbnRlbmQoKQotewotICAgIHJldHVybiBtX2Zyb250ZW5kLmdldCgpOwotfQotCiBQYXNzUmVm
UHRyPFNRTEVycm9yPiBTUUxTdGF0ZW1lbnRCYWNrZW5kOjpzcWxFcnJvcigpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fZXJyb3I7CkBAIC0yMDgsNiArMTk5LDI5IEBAIGJvb2wgU1FMU3RhdGVtZW50
QmFja2VuZDo6ZXhlY3V0ZShEYXRhYmFzZSYgZGIpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jv
b2wgU1FMU3RhdGVtZW50QmFja2VuZDo6cGVyZm9ybUNhbGxiYWNrKFNRTFRyYW5zYWN0aW9uKiB0
cmFuc2FjdGlvbikKK3sKKyAgICBBU1NFUlQodHJhbnNhY3Rpb24pOworCisgICAgYm9vbCBjYWxs
YmFja0Vycm9yID0gZmFsc2U7CisKKyAgICBSZWZQdHI8U1FMU3RhdGVtZW50Q2FsbGJhY2s+IGNh
bGxiYWNrID0gbV9zdGF0ZW1lbnRDYWxsYmFja1dyYXBwZXIudW53cmFwKCk7CisgICAgUmVmUHRy
PFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBtX3N0YXRlbWVudEVy
cm9yQ2FsbGJhY2tXcmFwcGVyLnVud3JhcCgpOworICAgIFJlZlB0cjxTUUxFcnJvcj4gZXJyb3Ig
PSBzcWxFcnJvcigpOworCisgICAgLy8gQ2FsbCB0aGUgYXBwcm9wcmlhdGUgc3RhdGVtZW50IGNh
bGxiYWNrIGFuZCB0cmFjayBpZiBpdCByZXN1bHRlZCBpbiBhbiBlcnJvciwKKyAgICAvLyBiZWNh
dXNlIHRoZW4gd2UgbmVlZCB0byBqdW1wIHRvIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFj
ay4KKyAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgaWYgKGVycm9yQ2FsbGJhY2spCisgICAgICAg
ICAgICBjYWxsYmFja0Vycm9yID0gZXJyb3JDYWxsYmFjay0+aGFuZGxlRXZlbnQodHJhbnNhY3Rp
b24sIGVycm9yLmdldCgpKTsKKyAgICB9IGVsc2UgaWYgKGNhbGxiYWNrKSB7CisgICAgICAgIFJl
ZlB0cjxTUUxSZXN1bHRTZXQ+IHJlc3VsdFNldCA9IHNxbFJlc3VsdFNldCgpOworICAgICAgICBj
YWxsYmFja0Vycm9yID0gIWNhbGxiYWNrLT5oYW5kbGVFdmVudCh0cmFuc2FjdGlvbiwgcmVzdWx0
U2V0LmdldCgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gY2FsbGJhY2tFcnJvcjsKK30KKwogdm9p
ZCBTUUxTdGF0ZW1lbnRCYWNrZW5kOjpzZXREYXRhYmFzZURlbGV0ZWRFcnJvcigpCiB7CiAgICAg
QVNTRVJUKCFtX2Vycm9yICYmICFtX3Jlc3VsdFNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRlbWVudEJhY2tlbmQuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5oCmluZGV4IDU5
NTEwYjUwYmNkNDM0ZDExOWZlNzRiYjkwZTAxMjY3MDIyZjhmNGUuLmY4OWFlYjlkNTg0MTRmYzAz
ZjI4OTVkMjU0MTRlNmVkODMxNDdjMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50QmFja2VuZC5oCkBAIC0yMCw3ICsyMCw3
IEBACiAgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCiAgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwogICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgICBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORAogICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgogICogVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KQEAgLTI4LDYgKzI4LDkgQEAKICNpZm5kZWYgU1FMU3RhdGVtZW50QmFja2VuZF9oCiAjZGVm
aW5lIFNRTFN0YXRlbWVudEJhY2tlbmRfaAogCisjaW5jbHVkZSAiU1FMQ2FsbGJhY2tXcmFwcGVy
LmgiCisjaW5jbHVkZSAiU1FMU3RhdGVtZW50Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJTUUxTdGF0
ZW1lbnRFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiU1FMVmFsdWUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTM4LDI0ICs0MSwyMyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEYXRhYmFzZTsKIGNsYXNzIFNRTEVycm9yOwog
Y2xhc3MgU1FMUmVzdWx0U2V0OwotY2xhc3MgU1FMU3RhdGVtZW50OwogY2xhc3MgU1FMVHJhbnNh
Y3Rpb25CYWNrZW5kOwogCiBjbGFzcyBTUUxTdGF0ZW1lbnRCYWNrZW5kIHsKIHB1YmxpYzoKLSAg
ICBTUUxTdGF0ZW1lbnRCYWNrZW5kKHN0ZDo6dW5pcXVlX3B0cjxTUUxTdGF0ZW1lbnQ+LCBjb25z
dCBTdHJpbmcmIHN0YXRlbWVudCwgY29uc3QgVmVjdG9yPFNRTFZhbHVlPiYgYXJndW1lbnRzLCBp
bnQgcGVybWlzc2lvbnMpOworICAgIFNRTFN0YXRlbWVudEJhY2tlbmQoRGF0YWJhc2UmLCBjb25z
dCBTdHJpbmcmLCBjb25zdCBWZWN0b3I8U1FMVmFsdWU+JiwgUGFzc1JlZlB0cjxTUUxTdGF0ZW1l
bnRDYWxsYmFjaz4sIFBhc3NSZWZQdHI8U1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjaz4sIGludCBw
ZXJtaXNzaW9ucyk7CiAgICAgflNRTFN0YXRlbWVudEJhY2tlbmQoKTsKIAogICAgIGJvb2wgZXhl
Y3V0ZShEYXRhYmFzZSYpOwogICAgIGJvb2wgbGFzdEV4ZWN1dGlvbkZhaWxlZER1ZVRvUXVvdGEo
KSBjb25zdDsKIAotICAgIGJvb2wgaGFzU3RhdGVtZW50Q2FsbGJhY2soKSBjb25zdCB7IHJldHVy
biBtX2hhc0NhbGxiYWNrOyB9Ci0gICAgYm9vbCBoYXNTdGF0ZW1lbnRFcnJvckNhbGxiYWNrKCkg
Y29uc3QgeyByZXR1cm4gbV9oYXNFcnJvckNhbGxiYWNrOyB9CisgICAgYm9vbCBoYXNTdGF0ZW1l
bnRDYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGVtZW50Q2FsbGJhY2tXcmFwcGVyLmhh
c0NhbGxiYWNrKCk7IH0KKyAgICBib29sIGhhc1N0YXRlbWVudEVycm9yQ2FsbGJhY2soKSBjb25z
dCB7IHJldHVybiBtX3N0YXRlbWVudEVycm9yQ2FsbGJhY2tXcmFwcGVyLmhhc0NhbGxiYWNrKCk7
IH0KKyAgICBib29sIHBlcmZvcm1DYWxsYmFjayhTUUxUcmFuc2FjdGlvbiopOwogCiAgICAgdm9p
ZCBzZXREYXRhYmFzZURlbGV0ZWRFcnJvcigpOwogICAgIHZvaWQgc2V0VmVyc2lvbk1pc21hdGNo
ZWRFcnJvcigpOwogCi0gICAgU1FMU3RhdGVtZW50KiBmcm9udGVuZCgpOwogICAgIFBhc3NSZWZQ
dHI8U1FMRXJyb3I+IHNxbEVycm9yKCkgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxTUUxSZXN1bHRT
ZXQ+IHNxbFJlc3VsdFNldCgpIGNvbnN0OwogCkBAIC02MywxMSArNjUsMTAgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHNldEZhaWx1cmVEdWVUb1F1b3RhKCk7CiAgICAgdm9pZCBjbGVhckZhaWx1cmVE
dWVUb1F1b3RhKCk7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8U1FMU3RhdGVtZW50PiBtX2Zyb250
ZW5kOwogICAgIFN0cmluZyBtX3N0YXRlbWVudDsKICAgICBWZWN0b3I8U1FMVmFsdWU+IG1fYXJn
dW1lbnRzOwotICAgIGJvb2wgbV9oYXNDYWxsYmFjazsKLSAgICBib29sIG1faGFzRXJyb3JDYWxs
YmFjazsKKyAgICBTUUxDYWxsYmFja1dyYXBwZXI8U1FMU3RhdGVtZW50Q2FsbGJhY2s+IG1fc3Rh
dGVtZW50Q2FsbGJhY2tXcmFwcGVyOworICAgIFNRTENhbGxiYWNrV3JhcHBlcjxTUUxTdGF0ZW1l
bnRFcnJvckNhbGxiYWNrPiBtX3N0YXRlbWVudEVycm9yQ2FsbGJhY2tXcmFwcGVyOwogCiAgICAg
UmVmUHRyPFNRTEVycm9yPiBtX2Vycm9yOwogICAgIFJlZlB0cjxTUUxSZXN1bHRTZXQ+IG1fcmVz
dWx0U2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9T
UUxUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NR
TFRyYW5zYWN0aW9uLmNwcAppbmRleCBiMjY2N2Q5ZmQ2Y2M4NTVhOTA2MjRjMDA5YjFkODA3MDIy
YTY3NzFhLi45YzBjMzNiMzc5ODA3MjkyNDc0ZjQyYjkwNjk4ZjM0MzY3OTQwOGZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9u
LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiU1FMRXJyb3IuaCIKKyNpbmNsdWRlICJTUUxTdGF0
ZW1lbnRCYWNrZW5kLmgiCiAjaW5jbHVkZSAiU1FMU3RhdGVtZW50Q2FsbGJhY2suaCIKICNpbmNs
dWRlICJTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiU1FMVHJhbnNhY3Rp
b25CYWNrZW5kLmgiCkBAIC0xODQsNyArMTg1LDcgQEAgU1FMVHJhbnNhY3Rpb25TdGF0ZSBTUUxU
cmFuc2FjdGlvbjo6ZGVsaXZlclN0YXRlbWVudENhbGxiYWNrKCkKICAgICAvLyBPdGhlcndpc2Us
IGNvbnRpbnVlIHRvIGxvb3AgdGhyb3VnaCB0aGUgc3RhdGVtZW50IHF1ZXVlCiAgICAgbV9leGVj
dXRlU3FsQWxsb3dlZCA9IHRydWU7CiAKLSAgICBTUUxTdGF0ZW1lbnQqIGN1cnJlbnRTdGF0ZW1l
bnQgPSBtX2JhY2tlbmQtPmN1cnJlbnRTdGF0ZW1lbnQoKTsKKyAgICBTUUxTdGF0ZW1lbnRCYWNr
ZW5kKiBjdXJyZW50U3RhdGVtZW50ID0gbV9iYWNrZW5kLT5jdXJyZW50U3RhdGVtZW50KCk7CiAg
ICAgQVNTRVJUKGN1cnJlbnRTdGF0ZW1lbnQpOwogCiAgICAgYm9vbCByZXN1bHQgPSBjdXJyZW50
U3RhdGVtZW50LT5wZXJmb3JtQ2FsbGJhY2sodGhpcyk7CkBAIC0yNTcsOCArMjU4LDggQEAgdm9p
ZCBTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNRTChjb25zdCBTdHJpbmcmIHNxbFN0YXRlbWVudCwg
Y29uc3QgVmVjdG9yPFNRTFZhbHUKICAgICBlbHNlIGlmIChtX3JlYWRPbmx5KQogICAgICAgICBw
ZXJtaXNzaW9ucyB8PSBEYXRhYmFzZUF1dGhvcml6ZXI6OlJlYWRPbmx5TWFzazsKIAotICAgIGF1
dG8gc3RhdGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxTUUxTdGF0ZW1lbnQ+KG1fZGF0YWJhc2Us
IFdURjo6bW92ZShjYWxsYmFjayksIFdURjo6bW92ZShjYWxsYmFja0Vycm9yKSk7Ci0gICAgbV9i
YWNrZW5kLT5leGVjdXRlU1FMKFdURjo6bW92ZShzdGF0ZW1lbnQpLCBzcWxTdGF0ZW1lbnQsIGFy
Z3VtZW50cywgcGVybWlzc2lvbnMpOworICAgIGF1dG8gc3RhdGVtZW50ID0gc3RkOjptYWtlX3Vu
aXF1ZTxTUUxTdGF0ZW1lbnRCYWNrZW5kPihtX2RhdGFiYXNlLCBzcWxTdGF0ZW1lbnQsIGFyZ3Vt
ZW50cywgV1RGOjptb3ZlKGNhbGxiYWNrKSwgV1RGOjptb3ZlKGNhbGxiYWNrRXJyb3IpLCBwZXJt
aXNzaW9ucyk7CisgICAgbV9iYWNrZW5kLT5leGVjdXRlU1FMKFdURjo6bW92ZShzdGF0ZW1lbnQp
KTsKIH0KIAogYm9vbCBTUUxUcmFuc2FjdGlvbjo6Y29tcHV0ZU5leHRTdGF0ZUFuZENsZWFudXBJ
Zk5lZWRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L1NRTFRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NR
TFRyYW5zYWN0aW9uLmgKaW5kZXggYmJjZDVlYWYxZjE4Nzk4YTg2ODg5ZmMwOGNmZDBiZGFjZjBh
Yzc0NS4uODQ3MWUyM2I4NThiM2JlNDQ5ZTg5NjJmYjM4NGUwMTdjNDlmMjdiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaApA
QCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBTUUxUcmFuc2FjdGlvbl9oCiAKICNpbmNsdWRlICJT
UUxDYWxsYmFja1dyYXBwZXIuaCIKLSNpbmNsdWRlICJTUUxTdGF0ZW1lbnQuaCIKICNpbmNsdWRl
ICJTUUxUcmFuc2FjdGlvblN0YXRlTWFjaGluZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkJhY2tlbmQuY3BwCmluZGV4IGQ5
NWM5MGE0MWI4YTMzNGJkZDZkMjc0Y2Q3OTFhMjFjY2IwODMxNDYuLjNlZDczYzEwZGI5N2RjZjI1
M2VjMDEyMjQxNGM2NzNiZDZjNmU1M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAKQEAgLTQy
Myw5ICs0MjMsOSBAQCB2b2lkIFNRTFRyYW5zYWN0aW9uQmFja2VuZDo6ZG9DbGVhbnVwKCkKICAg
ICBtX3dyYXBwZXIgPSBudWxscHRyOwogfQogCi1TUUxTdGF0ZW1lbnQqIFNRTFRyYW5zYWN0aW9u
QmFja2VuZDo6Y3VycmVudFN0YXRlbWVudCgpCitTUUxTdGF0ZW1lbnRCYWNrZW5kKiBTUUxUcmFu
c2FjdGlvbkJhY2tlbmQ6OmN1cnJlbnRTdGF0ZW1lbnQoKQogewotICAgIHJldHVybiBtX2N1cnJl
bnRTdGF0ZW1lbnRCYWNrZW5kLT5mcm9udGVuZCgpOworICAgIHJldHVybiBtX2N1cnJlbnRTdGF0
ZW1lbnRCYWNrZW5kLmdldCgpOwogfQogCiBQYXNzUmVmUHRyPFNRTEVycm9yPiBTUUxUcmFuc2Fj
dGlvbkJhY2tlbmQ6OnRyYW5zYWN0aW9uRXJyb3IoKQpAQCAtNTIzLDEwICs1MjMsOCBAQCBib29s
IFNRTFRyYW5zYWN0aW9uQmFja2VuZDo6c2hvdWxkUGVyZm9ybVdoaWxlUGF1c2VkKCkgY29uc3QK
IH0KICNlbmRpZgogCi12b2lkIFNRTFRyYW5zYWN0aW9uQmFja2VuZDo6ZXhlY3V0ZVNRTChzdGQ6
OnVuaXF1ZV9wdHI8U1FMU3RhdGVtZW50PiBzdGF0ZW1lbnQsIGNvbnN0IFN0cmluZyYgc3FsU3Rh
dGVtZW50LCBjb25zdCBWZWN0b3I8U1FMVmFsdWU+JiBhcmd1bWVudHMsIGludCBwZXJtaXNzaW9u
cykKK3ZvaWQgU1FMVHJhbnNhY3Rpb25CYWNrZW5kOjpleGVjdXRlU1FMKHN0ZDo6dW5pcXVlX3B0
cjxTUUxTdGF0ZW1lbnRCYWNrZW5kPiBzdGF0ZW1lbnRCYWNrZW5kKQogewotICAgIGF1dG8gc3Rh
dGVtZW50QmFja2VuZCA9IHN0ZDo6bWFrZV91bmlxdWU8U1FMU3RhdGVtZW50QmFja2VuZD4oV1RG
Ojptb3ZlKHN0YXRlbWVudCksIHNxbFN0YXRlbWVudCwgYXJndW1lbnRzLCBwZXJtaXNzaW9ucyk7
Ci0KICAgICBpZiAobV9kYXRhYmFzZS0+ZGVsZXRlZCgpKQogICAgICAgICBzdGF0ZW1lbnRCYWNr
ZW5kLT5zZXREYXRhYmFzZURlbGV0ZWRFcnJvcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkJhY2tlbmQuaAppbmRl
eCBlMmJmZTlhZjdkYjU1M2JiZTA4MjY1MWE5NjJlYzM0NmZkNmYzNzlkLi5jYWM4YzJmZTJiNWRk
NWMxOTI2M2ZjOGMyNmQ5OTQ2OGM3M2EyMGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmgKQEAgLTQy
LDcgKzQyLDYgQEAgY2xhc3MgRGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5Mb2NrOwogY2xhc3MgU1FM
RXJyb3I7CiBjbGFzcyBTUUxpdGVUcmFuc2FjdGlvbjsKLWNsYXNzIFNRTFN0YXRlbWVudDsKIGNs
YXNzIFNRTFN0YXRlbWVudEJhY2tlbmQ7CiBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIGNsYXNzIFNR
TFRyYW5zYWN0aW9uQmFja2VuZDsKQEAgLTc3LDkgKzc2LDkgQEAgcHVibGljOgogICAgIC8vIEFQ
SXMgY2FsbGVkIGZyb20gdGhlIGZyb250ZW5kIHB1Ymxpc2hlZCB2aWEgU1FMVHJhbnNhY3Rpb25C
YWNrZW5kOgogICAgIHZvaWQgcmVxdWVzdFRyYW5zaXRUb1N0YXRlKFNRTFRyYW5zYWN0aW9uU3Rh
dGUpOwogICAgIFBhc3NSZWZQdHI8U1FMRXJyb3I+IHRyYW5zYWN0aW9uRXJyb3IoKTsKLSAgICBT
UUxTdGF0ZW1lbnQqIGN1cnJlbnRTdGF0ZW1lbnQoKTsKKyAgICBTUUxTdGF0ZW1lbnRCYWNrZW5k
KiBjdXJyZW50U3RhdGVtZW50KCk7CiAgICAgdm9pZCBzZXRTaG91bGRSZXRyeUN1cnJlbnRTdGF0
ZW1lbnQoYm9vbCk7Ci0gICAgdm9pZCBleGVjdXRlU1FMKHN0ZDo6dW5pcXVlX3B0cjxTUUxTdGF0
ZW1lbnQ+LCBjb25zdCBTdHJpbmcmIHN0YXRlbWVudCwgY29uc3QgVmVjdG9yPFNRTFZhbHVlPiYg
YXJndW1lbnRzLCBpbnQgcGVybWlzc2lvbnMpOworICAgIHZvaWQgZXhlY3V0ZVNRTChzdGQ6OnVu
aXF1ZV9wdHI8U1FMU3RhdGVtZW50QmFja2VuZD4pOwogICAgIAogcHJpdmF0ZToKICAgICBTUUxU
cmFuc2FjdGlvbkJhY2tlbmQoRGF0YWJhc2UqLCBQYXNzUmVmUHRyPFNRTFRyYW5zYWN0aW9uPiwg
UGFzc1JlZlB0cjxTUUxUcmFuc2FjdGlvbldyYXBwZXI+LCBib29sIHJlYWRPbmx5KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDIzYTg5
MjAxYTBmN2ExNDhjNWIyMGEyZWVjNzFlYzAwYTM2ZTJjZGMuLjYwNDhlYzU2M2FjMzkyYzg5ZmEy
YmRhNjY0MjI4NWFhZWU5NjhkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvagpAQCAtNjgxOSw3ICs2ODE5LDYgQEAKICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcU1FMRXhjZXB0aW9uLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcU1FMUmVzdWx0U2V0
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2Vc
U1FMUmVzdWx0U2V0Um93TGlzdC5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxN
b2R1bGVzXHdlYmRhdGFiYXNlXFNRTFN0YXRlbWVudC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXFNRTFN0YXRlbWVudEJhY2tlbmQuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxTUUxUcmFu
c2FjdGlvbi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRh
dGFiYXNlXFNRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAiIC8+CkBAIC0yMDU2Miw3ICsyMDU2MSw2
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXFNRTEV4
Y2VwdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRh
YmFzZVxTUUxSZXN1bHRTZXQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVs
ZXNcd2ViZGF0YWJhc2VcU1FMUmVzdWx0U2V0Um93TGlzdC5oIiAvPgotICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxTUUxTdGF0ZW1lbnQuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcU1FMU3RhdGVtZW50QmFj
a2VuZC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFz
ZVxTUUxTdGF0ZW1lbnRDYWxsYmFjay5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
TW9kdWxlc1x3ZWJkYXRhYmFzZVxTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgiIC8+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKaW5kZXggMDQ2MzIwMTU5NjI2ZTJiNzU2MmE2YzE4Y2I2NzM0N2Q1MjY1NGZmNi4uMjhk
YmZiNWUxNDY4MDIyNDE0ZThjYWNiY2NiODJkODJhZWRjY2IyYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAt
NTE2LDkgKzUxNiw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRh
dGFiYXNlXFNRTFJlc3VsdFNldFJvd0xpc3QuY3BwIj4KICAgICAgIDxGaWx0ZXI+TW9kdWxlc1x3
ZWJkYXRhYmFzZTwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxTUUxTdGF0ZW1lbnQuY3BwIj4KLSAgICAgIDxG
aWx0ZXI+TW9kdWxlc1x3ZWJkYXRhYmFzZTwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZVxTUUxTdGF0ZW1lbnRC
YWNrZW5kLmNwcCI+CiAgICAgICA8RmlsdGVyPk1vZHVsZXNcd2ViZGF0YWJhc2U8L0ZpbHRlcj4K
ICAgICA8L0NsQ29tcGlsZT4KQEAgLTc0OTAsOSArNzQ4Nyw2IEBACiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXFNRTFJlc3VsdFNldFJvd0xpc3QuaCI+CiAg
ICAgICA8RmlsdGVyPk1vZHVsZXNcd2ViZGF0YWJhc2U8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcU1FMU3Rh
dGVtZW50LmgiPgotICAgICAgPEZpbHRlcj5Nb2R1bGVzXHdlYmRhdGFiYXNlPC9GaWx0ZXI+Ci0g
ICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHdlYmRh
dGFiYXNlXFNRTFN0YXRlbWVudEJhY2tlbmQuaCI+CiAgICAgICA8RmlsdGVyPk1vZHVsZXNcd2Vi
ZGF0YWJhc2U8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4OGEzODNkNmIzZGMwOWMw
MTExZjU4ZDc5YWFjYTRhOWJjYTBhZWY5Li43ZGJiZmVkYjllYWQzMDhmNDM2YzIzNGRiYzI3MjIz
OGFmMzRmOGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0zNzI3LDggKzM3MjcsNiBAQAogCQk5N0JDNkE0MjE1MDVGMDgxMDAx
Qjc0QUMgLyogU1FMUmVzdWx0U2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5N0JDNkEwMDE1MDVGMDgxMDAxQjc0QUMgLyogU1FMUmVzdWx0U2V0Lmgg
Ki87IH07CiAJCTk3QkM2QTQ0MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QkM2
QTAyMTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0LmNwcCAqLzsgfTsKIAkJ
OTdCQzZBNDUxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldFJvd0xpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QkM2QTAzMTUwNUYwODEw
MDFCNzRBQyAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0LmggKi87IH07Ci0JCTk3QkM2QTQ3MTUwNUYw
ODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzZBMDUxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRl
bWVudC5jcHAgKi87IH07Ci0JCTk3QkM2QTQ4MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QkM2
QTA2MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1lbnQuaCAqLzsgfTsKIAkJOTdCQzZBNDkx
NTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRlbWVudENhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0JDNkEwNzE1MDVGMDgxMDAxQjc0QUMg
LyogU1FMU3RhdGVtZW50Q2FsbGJhY2suaCAqLzsgfTsKIAkJOTdCQzZBNEIxNTA1RjA4MTAwMUI3
NEFDIC8qIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QkM2QTA5MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxT
dGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggKi87IH07CiAJCTk3QkM2QTRGMTUwNUYwODEwMDFCNzRB
QyAvKiBTUUxUcmFuc2FjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5N0JDNkEwRDE1MDVGMDgxMDAxQjc0QUMgLyogU1FMVHJhbnNhY3Rpb24u
Y3BwICovOyB9OwpAQCAtMTEwNjcsOCArMTEwNjUsNiBAQAogCQk5N0JDNkEwMjE1MDVGMDgxMDAx
Qjc0QUMgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTUUxSZXN1bHRTZXRSb3dMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTdCQzZBMDMxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldFJvd0xp
c3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1FMUmVzdWx0U2V0Um93TGlz
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0JDNkEwNDE1MDVGMDgxMDAxQjc0
QUMgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1FM
UmVzdWx0U2V0Um93TGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3QkM2
QTA1MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU1FMU3RhdGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJOTdCQzZBMDYxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTUUxTdGF0ZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdCQzZBMDcxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRl
bWVudENhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNRTFN0YXRl
bWVudENhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QkM2QTA4MTUw
NUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gU1FMU3RhdGVtZW50Q2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5N0JDNkEwOTE1MDVGMDgxMDAxQjc0QUMgLyogU1FMU3RhdGVtZW50RXJyb3JDYWxs
YmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTUUxTdGF0ZW1lbnRFcnJv
ckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODgxMCw4ICsxODgw
Niw2IEBACiAJCQkJOTdCQzZBMDIxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldFJvd0xp
c3QuY3BwICovLAogCQkJCTk3QkM2QTAzMTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRTZXRS
b3dMaXN0LmggKi8sCiAJCQkJOTdCQzZBMDQxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNl
dFJvd0xpc3QuaWRsICovLAotCQkJCTk3QkM2QTA1MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0
ZW1lbnQuY3BwICovLAotCQkJCTk3QkM2QTA2MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxTdGF0ZW1l
bnQuaCAqLywKIAkJCQlGRThBNjc0NTE2Q0REMTlFMDA5MzBCRjggLyogU1FMU3RhdGVtZW50QmFj
a2VuZC5jcHAgKi8sCiAJCQkJRkU4QTY3NDYxNkNERDE5RTAwOTMwQkY4IC8qIFNRTFN0YXRlbWVu
dEJhY2tlbmQuaCAqLywKIAkJCQk5N0JDNkEwNzE1MDVGMDgxMDAxQjc0QUMgLyogU1FMU3RhdGVt
ZW50Q2FsbGJhY2suaCAqLywKQEAgLTI2NzI2LDcgKzI2NzIwLDYgQEAKIAkJCQkxQTIyNDY0RTBD
Qzk4RERCMDBDMDUyNDAgLyogU1FMaXRlVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3QkM2QTQyMTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRTZXQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk3QkM2QTQ1MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0Lmgg
aW4gSGVhZGVycyAqLywKLQkJCQk5N0JDNkE0ODE1MDVGMDgxMDAxQjc0QUMgLyogU1FMU3RhdGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRThBNjc0ODE2Q0REMTlFMDA5MzBCRjggLyogU1FM
U3RhdGVtZW50QmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCQzZBNDkxNTA1RjA4MTAw
MUI3NEFDIC8qIFNRTFN0YXRlbWVudENhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JD
NkE0QjE1MDVGMDgxMDAxQjc0QUMgLyogU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMDE5NSw3ICszMDE4OCw2IEBACiAJCQkJMUEyMjQ2NEQwQ0M5OEREQjAw
QzA1MjQwIC8qIFNRTGl0ZVRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QkM2
QTQxMTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOTdCQzZBNDQxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldFJvd0xpc3QuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJOTdCQzZBNDcxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFN0YXRlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRThBNjc0NzE2Q0REMTlFMDA5MzBCRjggLyogU1FM
U3RhdGVtZW50QmFja2VuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0JDNkE0RjE1MDVGMDgx
MDAxQjc0QUMgLyogU1FMVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkVFMTgx
MTMxNkMzMTlFODAwMDg0ODQ5IC8qIFNRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1FMVHJhbnNh
Y3Rpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTUUxUcmFuc2Fj
dGlvbkN1c3RvbS5jcHAKaW5kZXggYmQxYTZkODlhN2FjZDMwYTFhZTg5OGNmODg4ZGUwMGMyOTk1
NzFlNC4uMjUyNzA4MGEzNGQ5MmViNWUzNTAyYjg0NGEzZmNlZDYxODNkMWQ0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTUUxUcmFuc2FjdGlvbkN1c3RvbS5j
cHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJKU1NRTFN0YXRlbWVudEVycm9yQ2FsbGJh
Y2suaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0N1c3RvbS5oIgogI2luY2x1ZGUgIlNRTFRyYW5z
YWN0aW9uLmgiCisjaW5jbHVkZSAiU1FMVmFsdWUuaCIKIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsK
IAo=
</data>
<flag name="review"
          id="283599"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>