<?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>182895</bug_id>
          
          <creation_ts>2018-02-16 15:48:26 -0800</creation_ts>
          <short_desc>[ESNext][BigInt] Create specialized version of strict equals for BigIntUse</short_desc>
          <delta_ts>2018-02-17 01:45:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Caio Lima">ticaiolima</reporter>
          <assigned_to name="Caio Lima">ticaiolima</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1400085</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-02-16 15:48:26 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400120</commentid>
    <comment_count>1</comment_count>
      <attachid>334092</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-02-16 18:53:02 -0800</bug_when>
    <thetext>Created attachment 334092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400159</commentid>
    <comment_count>2</comment_count>
      <attachid>334092</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-02-17 01:45:24 -0800</bug_when>
    <thetext>Comment on attachment 334092
Patch

Wrong Bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334092</attachid>
            <date>2018-02-16 18:53:02 -0800</date>
            <delta_ts>2018-02-17 01:45:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182895-20180217035300.patch</filename>
            <type>text/plain</type>
            <size>38860</size>
            <attacher name="Caio Lima">ticaiolima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NTQ3ZjI2OTQ2YjQzMTMxOWJlZjgyNzZjZDAwMWZkODY4NTQzMDI1Li42NDMzNjMxOWNiMWFmZjdj
MzJiMWNjYTFhNTE0MjU3NDBhMGQwMjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NSBAQAorMjAxOC0wMi0xNiAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+
CisKKyAgICAgICAgW0VTTmV4dF1bQmlnSW50XSBDcmVhdGUgc3BlY2lhbGl6ZWQgdmVyc2lvbiBv
ZiBzdHJpY3QgZXF1YWxzIGZvciBCaWdJbnRVc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Mjg5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0aGUgU3BlY0JpZ0lu
dCB0eXBlIHRvIERGRyB0byBlbmFibGUgQmlnSW50CisgICAgICAgIHNwZWN1bGF0aW9uIGludG8g
REZHIGFuZCBGVEwuIFdlIGFyZSBhbHNvIGludHJvZHVjaW5nIHN1cHBvcnQgZm9yCisgICAgICAg
IEJpZ0ludCBjb25zdGFudCBmb2xkaW5nIGludG8gVHlwZU9mIG9wZXJhdGlvbiwgaW50cm9kdWNp
bmcgdGhlbiBuZXcKKyAgICAgICAgb3B0aW9uIEJpZ0ludFVzZSBpbnRvIERGRzo6VXNlS2luZC4K
KworICAgICAgICAqIGJ5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmNwcDoKKyAgICAgICAgKEpTQzo6
ZHVtcFNwZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6c3BlY3VsYXRpb25Gcm9tQ2xhc3NJbmZv
KToKKyAgICAgICAgKEpTQzo6c3BlY3VsYXRpb25Gcm9tU3RydWN0dXJlKToKKyAgICAgICAgKEpT
Qzo6c3BlY3VsYXRpb25Gcm9tSlNUeXBlKToKKyAgICAgICAgKEpTQzo6c3BlY3VsYXRpb25Gcm9t
U3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oOgorICAgICAgICAo
SlNDOjppc0JpZ0ludFNwZWN1bGF0aW9uKToKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRl
cnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVy
PEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdB
YnN0cmFjdFZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFZhbHVlOjpzZXQp
OgorICAgICAgICAqIGRmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6Q29uc3RhbnRGb2xkaW5nUGhhc2U6OmZvbGRDb25zdGFudHMpOgorICAgICAgICAq
IGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpm
aXh1cE5vZGUpOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwVG9UaGlzKToK
KyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpvYnNlcnZlVXNlS2luZE9uTm9kZSk6Cisg
ICAgICAgICogZGZnL0RGR0luZmVycmVkVHlwZUNoZWNrLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjppbnNlcnRJbmZlcnJlZFR5cGVDaGVjayk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoKKyAg
ICAgICAgKEpTQzo6REZHOjpOb2RlOjpzaG91bGRTcGVjdWxhdGVCaWdJbnQpOgorICAgICAgICAq
IGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA6CisgICAgICAgICogZGZnL0RG
R1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpTYWZlVG9FeGVjdXRlRWRnZTo6
b3BlcmF0b3IoKSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVN0cmljdEVxKToKKyAgICAgICAg
KEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlQmlnSW50KToKKyAgICAgICAgKEpT
Qzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlKToKKyAgICAgICAgKiBkZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuaDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVCaWdJbnRFcXVhbGl0
eSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlQmlnSW50RXF1YWxpdHkpOgorICAgICAgICAq
IGRmZy9ERkdVc2VLaW5kLmNwcDoKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAg
ICAgICogZGZnL0RGR1VzZUtpbmQuaDoKKyAgICAgICAgKEpTQzo6REZHOjp0eXBlRmlsdGVyRm9y
KToKKyAgICAgICAgKEpTQzo6REZHOjppc0NlbGwpOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmls
aXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0
bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpjb21waWxlQ29tcGFyZVN0cmljdEVxKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxv
d2VyREZHVG9CMzo6Y2hlY2tJbmZlcnJlZFR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0IzOjpzcGVjdWxhdGUpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJE
RkdUb0IzOjppc05vdEJpZ0ludCk6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1Rv
QjM6OnNwZWN1bGF0ZUJpZ0ludCk6CisgICAgICAgICogaml0L0Fzc2VtYmx5SGVscGVycy5jcHA6
CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVyczo6YnJhbmNoSWZOb3RUeXBlKToKKyAgICAg
ICAgKiBqaXQvQXNzZW1ibHlIZWxwZXJzLmg6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVy
czo6YnJhbmNoSWZCaWdJbnQpOgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmJyYW5j
aElmTm90QmlnSW50KToKKyAgICAgICAgKiBydW50aW1lL0luZmVycmVkVHlwZS5jcHA6CisgICAg
ICAgIChKU0M6OkluZmVycmVkVHlwZTo6RGVzY3JpcHRvcjo6Zm9yVmFsdWUpOgorICAgICAgICAo
SlNDOjpJbmZlcnJlZFR5cGU6OkRlc2NyaXB0b3I6OnB1dEJ5SWRGbGFncyBjb25zdCk6CisgICAg
ICAgIChKU0M6OkluZmVycmVkVHlwZTo6RGVzY3JpcHRvcjo6bWVyZ2UpOgorICAgICAgICAoV1RG
OjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBydW50aW1lL0luZmVycmVkVHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNCaWdJbnQuaDoKKwogMjAxOC0wMi0xNiAgTWF0dCBMZXdpcyAgPGps
ZXdpczNAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjgz
MTguCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRl
ZFR5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBl
LmNwcAppbmRleCBiZTllNjgwMWE2NTVhOTk4MGJkZDYyYjQwZmYyMmM1NmM1NmJjNGJkLi5iNDg4
MTgwOWY0YTQyYjI0ZGI0OTBlNDZjMmQ3ZTE3ZDQyOTA4MjAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5jcHAKQEAgLTMxLDYgKzMxLDcg
QEAKIAogI2luY2x1ZGUgIkRpcmVjdEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIK
KyNpbmNsdWRlICJKU0JpZ0ludC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRl
ICJKU0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNNYXAuaCIKQEAgLTIyMSw2ICsyMjIsMTEgQEAg
dm9pZCBkdW1wU3BlY3VsYXRpb24oUHJpbnRTdHJlYW0mIG91dFN0cmVhbSwgU3BlY3VsYXRlZFR5
cGUgdmFsdWUpCiAgICAgICAgICAgICBzdHJPdXQucHJpbnQoIlN5bWJvbCIpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBpc1RvcCA9IGZhbHNlOworCisgICAgICAgIGlmICh2YWx1ZSAmIFNw
ZWNCaWdJbnQpCisgICAgICAgICAgICBzdHJPdXQucHJpbnQoIkJpZ0ludCIpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBpc1RvcCA9IGZhbHNlOwogICAgIH0KICAgICAKICAgICBpZiAodmFs
dWUgPT0gU3BlY0ludDMyT25seSkKQEAgLTM4OSw2ICszOTUsOSBAQCBTcGVjdWxhdGVkVHlwZSBz
cGVjdWxhdGlvbkZyb21DbGFzc0luZm8oY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8pCiAKICAg
ICBpZiAoY2xhc3NJbmZvID09IFN5bWJvbDo6aW5mbygpKQogICAgICAgICByZXR1cm4gU3BlY1N5
bWJvbDsKKyAgICAKKyAgICBpZiAoY2xhc3NJbmZvID09IEpTQmlnSW50OjppbmZvKCkpCisgICAg
ICAgIHJldHVybiBTcGVjQmlnSW50OwogCiAgICAgaWYgKGNsYXNzSW5mbyA9PSBKU0ZpbmFsT2Jq
ZWN0OjppbmZvKCkpCiAgICAgICAgIHJldHVybiBTcGVjRmluYWxPYmplY3Q7CkBAIC00NDQsNiAr
NDUzLDggQEAgU3BlY3VsYXRlZFR5cGUgc3BlY3VsYXRpb25Gcm9tU3RydWN0dXJlKFN0cnVjdHVy
ZSogc3RydWN0dXJlKQogICAgICAgICByZXR1cm4gU3BlY1N0cmluZzsKICAgICBpZiAoc3RydWN0
dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQogICAgICAgICByZXR1cm4gU3Bl
Y1N5bWJvbDsKKyAgICBpZiAoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBCaWdJbnRU
eXBlKQorICAgICAgICByZXR1cm4gU3BlY0JpZ0ludDsKICAgICBpZiAoc3RydWN0dXJlLT50eXBl
SW5mbygpLnR5cGUoKSA9PSBEZXJpdmVkQXJyYXlUeXBlKQogICAgICAgICByZXR1cm4gU3BlY0Rl
cml2ZWRBcnJheTsKICAgICByZXR1cm4gc3BlY3VsYXRpb25Gcm9tQ2xhc3NJbmZvKHN0cnVjdHVy
ZS0+Y2xhc3NJbmZvKCkpOwpAQCAtNTI2LDYgKzUzNyw4IEBAIFNwZWN1bGF0ZWRUeXBlIHNwZWN1
bGF0aW9uRnJvbUpTVHlwZShKU1R5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuIFNwZWNTdHJpbmc7
CiAgICAgY2FzZSBTeW1ib2xUeXBlOgogICAgICAgICByZXR1cm4gU3BlY1N5bWJvbDsKKyAgICBj
YXNlIEJpZ0ludFR5cGU6CisgICAgICAgIHJldHVybiBTcGVjQmlnSW50OwogICAgIGNhc2UgQXJy
YXlUeXBlOgogICAgICAgICByZXR1cm4gU3BlY0FycmF5OwogICAgIGNhc2UgRGVyaXZlZEFycmF5
VHlwZToKQEAgLTc0Myw2ICs3NTYsOCBAQCBTcGVjdWxhdGVkVHlwZSBzcGVjdWxhdGlvbkZyb21T
dHJpbmcoY29uc3QgY2hhciogc3BlY3VsYXRpb24pCiAgICAgICAgIHJldHVybiBTcGVjU3RyaW5n
OwogICAgIGlmICghc3RybmNtcChzcGVjdWxhdGlvbiwgIlNwZWNTeW1ib2wiLCBzdHJsZW4oIlNw
ZWNTeW1ib2wiKSkpCiAgICAgICAgIHJldHVybiBTcGVjU3ltYm9sOworICAgIGlmICghc3RybmNt
cChzcGVjdWxhdGlvbiwgIlNwZWNCaWdJbnQiLCBzdHJsZW4oIlNwZWNCaWdJbnQiKSkpCisgICAg
ICAgIHJldHVybiBTcGVjQmlnSW50OwogICAgIGlmICghc3RybmNtcChzcGVjdWxhdGlvbiwgIlNw
ZWNDZWxsT3RoZXIiLCBzdHJsZW4oIlNwZWNDZWxsT3RoZXIiKSkpCiAgICAgICAgIHJldHVybiBT
cGVjQ2VsbE90aGVyOwogICAgIGlmICghc3RybmNtcChzcGVjdWxhdGlvbiwgIlNwZWNDZWxsIiwg
c3RybGVuKCJTcGVjQ2VsbCIpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1NwZWN1bGF0ZWRUeXBlLmgKaW5kZXggMmRiODVkYTk5ZmNiNTc4NzE1MGQ2OWY5YmYzZGRjMWRi
OThjZGY0Ny4uN2QzZGZiODc5OGY1M2YwN2ExMjFmMzI2MDg4MzRjYmMzYTRlMmM1YyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmgKQEAgLTY4
LDggKzY4LDcgQEAgc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJpbmdJZGVudCAg
ICAgICAgPSAxdWxsIDw8IDIzOyAvLyBJdCdzIGRlZmluaXQKIHN0YXRpYyBjb25zdCBTcGVjdWxh
dGVkVHlwZSBTcGVjU3RyaW5nVmFyICAgICAgICAgID0gMXVsbCA8PCAyNDsgLy8gSXQncyBkZWZp
bml0ZWx5IGEgSlNTdHJpbmcsIGFuZCBpdCdzIG5vdCBhbiBpZGVudGlmaWVyLgogc3RhdGljIGNv
bnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJpbmcgICAgICAgICAgICAgPSBTcGVjU3RyaW5nSWRl
bnQgfCBTcGVjU3RyaW5nVmFyOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0cmluZy4KIHN0YXRp
YyBjb25zdCBTcGVjdWxhdGVkVHlwZSBTcGVjU3ltYm9sICAgICAgICAgICAgID0gMXVsbCA8PCAy
NTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgU3ltYm9sLgotc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRU
eXBlIFNwZWNDZWxsT3RoZXIgICAgICAgICAgPSAxdWxsIDw8IDI2OyAvLyBJdCdzIGRlZmluaXRl
bHkgYSBKU0NlbGwgYnV0IG5vdCBhIHN1YmNsYXNzIG9mIEpTT2JqZWN0IGFuZCBkZWZpbml0ZWx5
IG5vdCBhIEpTU3RyaW5nIG9yIGEgU3ltYm9sLgotc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBl
IFNwZWNDZWxsICAgICAgICAgICAgICAgPSBTcGVjT2JqZWN0IHwgU3BlY1N0cmluZyB8IFNwZWNT
eW1ib2wgfCBTcGVjQ2VsbE90aGVyOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU0NlbGwuCitzdGF0
aWMgY29uc3QgU3BlY3VsYXRlZFR5cGUgU3BlY0NlbGxPdGhlciAgICAgICAgICA9IDF1bGwgPDwg
MjY7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTQ2VsbCBidXQgbm90IGEgc3ViY2xhc3Mgb2YgSlNP
YmplY3QgYW5kIGRlZmluaXRlbHkgbm90IGEgSlNTdHJpbmcsIEJpZ0ludCBvciBhIFN5bWJvbC4K
IHN0YXRpYyBjb25zdCBTcGVjdWxhdGVkVHlwZSBTcGVjQm9vbEludDMyICAgICAgICAgID0gMXVs
bCA8PCAyNzsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIEludDMyIHdpdGggdmFsdWUgMCBvciAxLgog
c3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNOb25Cb29sSW50MzIgICAgICAgPSAxdWxs
IDw8IDI4OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gSW50MzIgd2l0aCB2YWx1ZSBvdGhlciB0aGFu
IDAgb3IgMS4KIHN0YXRpYyBjb25zdCBTcGVjdWxhdGVkVHlwZSBTcGVjSW50MzJPbmx5ICAgICAg
ICAgID0gU3BlY0Jvb2xJbnQzMiB8IFNwZWNOb25Cb29sSW50MzI7IC8vIEl0J3MgZGVmaW5pdGVs
eSBhbiBJbnQzMi4KQEAgLTkwLDkgKzg5LDExIEBAIHN0YXRpYyBjb25zdCBTcGVjdWxhdGVkVHlw
ZSBTcGVjRnVsbE51bWJlciAgICAgICAgID0gU3BlY0FueUludCB8IFNwZWNGdWxsRG91YmxlCiBz
dGF0aWMgY29uc3QgU3BlY3VsYXRlZFR5cGUgU3BlY0Jvb2xlYW4gICAgICAgICAgICA9IDF1bGwg
PDwgMzQ7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEJvb2xlYW4uCiBzdGF0aWMgY29uc3QgU3BlY3Vs
YXRlZFR5cGUgU3BlY090aGVyICAgICAgICAgICAgICA9IDF1bGwgPDwgMzU7IC8vIEl0J3MgZGVm
aW5pdGVseSBlaXRoZXIgTnVsbCBvciBVbmRlZmluZWQuCiBzdGF0aWMgY29uc3QgU3BlY3VsYXRl
ZFR5cGUgU3BlY01pc2MgICAgICAgICAgICAgICA9IFNwZWNCb29sZWFuIHwgU3BlY090aGVyOyAv
LyBJdCdzIGRlZmluaXRlbHkgZWl0aGVyIGEgYm9vbGVhbiwgTnVsbCwgb3IgVW5kZWZpbmVkLgot
c3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNIZWFwVG9wICAgICAgICAgICAgPSBTcGVj
Q2VsbCB8IFNwZWNCeXRlY29kZU51bWJlciB8IFNwZWNNaXNjOyAvLyBJdCBjYW4gYmUgYW55IG9m
IHRoZSBhYm92ZSwgZXhjZXB0IGZvciBTcGVjSW50NTJPbmx5IGFuZCBTcGVjRG91YmxlSW1wdXJl
TmFOLgotc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNQcmltaXRpdmUgICAgICAgICAg
PSBTcGVjU3RyaW5nIHwgU3BlY1N5bWJvbCB8IFNwZWNCeXRlY29kZU51bWJlciB8IFNwZWNNaXNj
OyAvLyBJdCdzIGFueSBub24tT2JqZWN0IEpTVmFsdWUuCiBzdGF0aWMgY29uc3QgU3BlY3VsYXRl
ZFR5cGUgU3BlY0VtcHR5ICAgICAgICAgICAgICA9IDF1bGwgPDwgMzY7IC8vIEl0J3MgZGVmaW5p
dGVseSBhbiBlbXB0eSB2YWx1ZSBtYXJrZXIuCitzdGF0aWMgY29uc3QgU3BlY3VsYXRlZFR5cGUg
U3BlY0JpZ0ludCAgICAgICAgICAgICA9IDF1bGwgPDwgMzc7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IEJpZ0ludC4KK3N0YXRpYyBjb25zdCBTcGVjdWxhdGVkVHlwZSBTcGVjUHJpbWl0aXZlICAgICAg
ICAgID0gU3BlY1N0cmluZyB8IFNwZWNTeW1ib2wgfCBTcGVjQnl0ZWNvZGVOdW1iZXIgfCBTcGVj
TWlzYyB8IFNwZWNCaWdJbnQ7IC8vIEl0J3MgYW55IG5vbi1PYmplY3QgSlNWYWx1ZS4KK3N0YXRp
YyBjb25zdCBTcGVjdWxhdGVkVHlwZSBTcGVjQ2VsbCAgICAgICAgICAgICAgID0gU3BlY09iamVj
dCB8IFNwZWNTdHJpbmcgfCBTcGVjU3ltYm9sIHwgU3BlY0NlbGxPdGhlciB8IFNwZWNCaWdJbnQ7
IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTQ2VsbC4KK3N0YXRpYyBjb25zdCBTcGVjdWxhdGVkVHlw
ZSBTcGVjSGVhcFRvcCAgICAgICAgICAgID0gU3BlY0NlbGwgfCBTcGVjQnl0ZWNvZGVOdW1iZXIg
fCBTcGVjTWlzYzsgLy8gSXQgY2FuIGJlIGFueSBvZiB0aGUgYWJvdmUsIGV4Y2VwdCBmb3IgU3Bl
Y0ludDUyT25seSBhbmQgU3BlY0RvdWJsZUltcHVyZU5hTi4KIHN0YXRpYyBjb25zdCBTcGVjdWxh
dGVkVHlwZSBTcGVjQnl0ZWNvZGVUb3AgICAgICAgID0gU3BlY0hlYXBUb3AgfCBTcGVjRW1wdHk7
IC8vIEl0IGNhbiBiZSBhbnkgb2YgdGhlIGFib3ZlLCBleGNlcHQgZm9yIFNwZWNJbnQ1Mk9ubHkg
YW5kIFNwZWNEb3VibGVJbXB1cmVOYU4uIENvcnJlc3BvbmRzIHRvIHdoYXQgY291bGQgYmUgZm91
bmQgaW4gYSBieXRlY29kZSBsb2NhbC4KIHN0YXRpYyBjb25zdCBTcGVjdWxhdGVkVHlwZSBTcGVj
RnVsbFRvcCAgICAgICAgICAgID0gU3BlY0J5dGVjb2RlVG9wIHwgU3BlY0Z1bGxOdW1iZXI7IC8v
IEl0IGNhbiBiZSBhbnl0aGluZyB0aGF0IGJ5dGVjb2RlIGNvdWxkIHNlZSBwbHVzIGV4b3RpYyBl
bmNvZGluZ3Mgb2YgbnVtYmVycy4KIApAQCAtMTc0LDYgKzE3NSwxMSBAQCBpbmxpbmUgYm9vbCBp
c1N5bWJvbFNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQogICAgIHJldHVybiB2YWx1
ZSA9PSBTcGVjU3ltYm9sOwogfQogCitpbmxpbmUgYm9vbCBpc0JpZ0ludFNwZWN1bGF0aW9uKFNw
ZWN1bGF0ZWRUeXBlIHZhbHVlKQoreworICAgIHJldHVybiB2YWx1ZSA9PSBTcGVjQmlnSW50Owor
fQorCiBpbmxpbmUgYm9vbCBpc0FycmF5U3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUp
CiB7CiAgICAgcmV0dXJuIHZhbHVlID09IFNwZWNBcnJheTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRl
eCA2NjMxN2NhNzc2NzljMjFhODNmMDY3YzIzYWI2ZjUxZTU4ZDU2ZDVmLi5hMDg5NDQ4NzU5NGQ3
YWE1ZTI5MzQxYTkzMjU1YzQwNmVjMjIwYzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0xNDQ0
LDYgKzE0NDQsMTEgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBl
Pjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKGlzQmlnSW50U3BlY3VsYXRpb24oYWJzdHJhY3RD
aGlsZC5tX3R5cGUpKSB7CisgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCAqbV9ncmFwaC5m
cmVlemUobV92bS5zbWFsbFN0cmluZ3MuYmlnaW50U3RyaW5nKCkpKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgs
IFNwZWNTdHJpbmdJZGVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTIwNDksNyArMjA1
NCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1
dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgIAogICAgICAgICBBU1NFUlQo
bm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFVudHlwZWRVc2UpOwogICAgICAgICAKLSAgICAg
ICAgaWYgKCEoZm9yTm9kZShub2RlLT5jaGlsZDEoKSkubV90eXBlICYgfihTcGVjRnVsbE51bWJl
ciB8IFNwZWNCb29sZWFuIHwgU3BlY1N0cmluZyB8IFNwZWNTeW1ib2wpKSkgeworICAgICAgICBp
ZiAoIShmb3JOb2RlKG5vZGUtPmNoaWxkMSgpKS5tX3R5cGUgJiB+KFNwZWNGdWxsTnVtYmVyIHwg
U3BlY0Jvb2xlYW4gfCBTcGVjU3RyaW5nIHwgU3BlY1N5bWJvbCB8IFNwZWNCaWdJbnQpKSkgewog
ICAgICAgICAgICAgbV9zdGF0ZS5zZXRGb3VuZENvbnN0YW50cyh0cnVlKTsKICAgICAgICAgICAg
IGZvck5vZGUobm9kZSkgPSBmb3JOb2RlKG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFZh
bHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RWYWx1ZS5jcHAK
aW5kZXggNGE3ZmUxYjI1ZWI1MjcyMGY2NWRiODEyYmE4ZWU4MDk3NTE2NjM1Mi4uMjMxZWZlY2Qw
ZWJhZmJkNjA0MDYyYmVmYzQ5NDEyMWUzYmQ0YzRiZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0VmFsdWUuY3BwCkBAIC0xNTAsNiArMTUwLDkgQEAgdm9pZCBB
YnN0cmFjdFZhbHVlOjpzZXQoR3JhcGgmIGdyYXBoLCBjb25zdCBJbmZlcnJlZFR5cGU6OkRlc2Ny
aXB0b3ImIGRlc2NyaXB0b3IKICAgICBjYXNlIEluZmVycmVkVHlwZTo6U3ltYm9sOgogICAgICAg
ICBzZXQoZ3JhcGgsIGdyYXBoLm1fdm0uc3ltYm9sU3RydWN0dXJlLmdldCgpKTsKICAgICAgICAg
cmV0dXJuOworICAgIGNhc2UgSW5mZXJyZWRUeXBlOjpCaWdJbnQ6CisgICAgICAgIHNldChncmFw
aCwgZ3JhcGgubV92bS5iaWdJbnRTdHJ1Y3R1cmUuZ2V0KCkpOworICAgICAgICByZXR1cm47CiAg
ICAgY2FzZSBJbmZlcnJlZFR5cGU6Ok9iamVjdFdpdGhTdHJ1Y3R1cmU6CiAgICAgICAgIHNldChn
cmFwaCwgZGVzY3JpcHRvci5zdHJ1Y3R1cmUoKSk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAK
aW5kZXggYjZkZjczMTg2YTdlZGYwNzYyOWUyNzc5NjcxNjFmZDVlNWE3ZDg1Yy4uYWQ1OTFmOWU4
ZWIxYjQyYjFhMThiMTkzMTEwNDYyNTQ1MDFhOGZlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAKQEAgLTYxMyw3ICs2
MTMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBjYXNlIFRvUHJp
bWl0aXZlOiB7Ci0gICAgICAgICAgICAgICAgaWYgKG1fc3RhdGUuZm9yTm9kZShub2RlLT5jaGls
ZDEoKSkubV90eXBlICYgfihTcGVjRnVsbE51bWJlciB8IFNwZWNCb29sZWFuIHwgU3BlY1N0cmlu
ZyB8IFNwZWNTeW1ib2wpKQorICAgICAgICAgICAgICAgIGlmIChtX3N0YXRlLmZvck5vZGUobm9k
ZS0+Y2hpbGQxKCkpLm1fdHlwZSAmIH4oU3BlY0Z1bGxOdW1iZXIgfCBTcGVjQm9vbGVhbiB8IFNw
ZWNTdHJpbmcgfCBTcGVjU3ltYm9sIHwgU3BlY0JpZ0ludCkpCiAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRU
b0lkZW50aXR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Zp
eHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNw
cAppbmRleCA4N2M2N2RjZTk2M2RkZTYwNmIzNWI3ZjI1MWQzZmZkMTA0NGQxN2RmLi5hNTkyZTdi
MWNhNzFjMjZhYjc0MTBiMWNlMjljZmRhMjI5ZjRkZTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTYxNiw2ICs2MTYsMTEgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICAgICBmaXhFZGdlPFN5bWJvbFVzZT4obm9kZS0+Y2hpbGQyKCkpOwogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKE5vZGU6
OnNob3VsZFNwZWN1bGF0ZUJpZ0ludChub2RlLT5jaGlsZDEoKS5ub2RlKCksIG5vZGUtPmNoaWxk
MigpLm5vZGUoKSkpIHsKKyAgICAgICAgICAgICAgICBmaXhFZGdlPEJpZ0ludFVzZT4obm9kZS0+
Y2hpbGQxKCkpOworICAgICAgICAgICAgICAgIGZpeEVkZ2U8QmlnSW50VXNlPihub2RlLT5jaGls
ZDIoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBpZiAobm9kZS0+Y2hpbGQxKCktPnNob3VsZFNwZWN1bGF0ZVN0cmluZ0lkZW50KCkgJiYgbm9k
ZS0+Y2hpbGQyKCktPnNob3VsZFNwZWN1bGF0ZVN0cmluZ0lkZW50KCkpIHsKICAgICAgICAgICAg
ICAgICBmaXhFZGdlPFN0cmluZ0lkZW50VXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAg
ICAgICAgZml4RWRnZTxTdHJpbmdJZGVudFVzZT4obm9kZS0+Y2hpbGQyKCkpOwpAQCAtMjQ3NCw2
ICsyNDc5LDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvSWRl
bnRpdHkoKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIGlmIChub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlQmln
SW50KCkpIHsKKyAgICAgICAgICAgICAgICBmaXhFZGdlPEJpZ0ludFVzZT4obm9kZS0+Y2hpbGQx
KCkpOworICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb0lkZW50aXR5KCk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgaWYg
KG5vZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVjdWxhdGVPdGhlcigpKSB7CkBAIC0yOTcxLDYgKzI5
ODIsNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFN0cmluZ1VzZToKICAgICAgICAgY2FzZSBL
bm93blN0cmluZ1VzZToKICAgICAgICAgY2FzZSBTeW1ib2xVc2U6CisgICAgICAgIGNhc2UgQmln
SW50VXNlOgogICAgICAgICBjYXNlIFN0cmluZ09iamVjdFVzZToKICAgICAgICAgY2FzZSBTdHJp
bmdPclN0cmluZ09iamVjdFVzZToKICAgICAgICAgICAgIGlmIChhbHdheXNVbmJveFNpbXBsZVBy
aW1pdGl2ZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdJbmZl
cnJlZFR5cGVDaGVjay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0luZmVycmVk
VHlwZUNoZWNrLmNwcAppbmRleCAxOTUxYzc5YzE1MWZlMDExYzJjNTI1ZmRhZGVkZjU2MzdhMDUz
NDI1Li44OTM0YjliYjZiY2MzMTk4Yjc4MjE1OTA3ODkxODdjYmJmNWI0NDQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0luZmVycmVkVHlwZUNoZWNrLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0luZmVycmVkVHlwZUNoZWNrLmNwcApAQCAt
NjcsNiArNjcsMTAgQEAgdm9pZCBpbnNlcnRJbmZlcnJlZFR5cGVDaGVjaygKICAgICAgICAgaW5z
ZXJ0aW9uU2V0Lmluc2VydE5vZGUobm9kZUluZGV4LCBTcGVjTm9uZSwgQ2hlY2ssIG9yaWdpbiwg
RWRnZShiYXNlTm9kZSwgU3ltYm9sVXNlKSk7CiAgICAgICAgIHJldHVybjsKIAorICAgIGNhc2Ug
SW5mZXJyZWRUeXBlOjpCaWdJbnQ6CisgICAgICAgIGluc2VydGlvblNldC5pbnNlcnROb2RlKG5v
ZGVJbmRleCwgU3BlY05vbmUsIENoZWNrLCBvcmlnaW4sIEVkZ2UoYmFzZU5vZGUsIEJpZ0ludFVz
ZSkpOworICAgICAgICByZXR1cm47CisKICAgICBjYXNlIEluZmVycmVkVHlwZTo6T2JqZWN0V2l0
aFN0cnVjdHVyZToKICAgICAgICAgaW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCiAgICAgICAgICAg
ICBub2RlSW5kZXgsIFNwZWNOb25lLCBDaGVja1N0cnVjdHVyZSwgb3JpZ2luLApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGUuaAppbmRleCBmM2M1YzExNjUyMmJkZmUwMDY5NDJkZjI5ZDBjZTI3
NmU2N2FjMTdlLi43NDRjYjY4Yzc2NmNkMjM3MWMzZDMwOTliOTkzMTZlZDYxNTcwYjAyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtMjMyMiw2ICsyMzIyLDExIEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIGlzU3ltYm9sU3BlY3VsYXRpb24ocHJlZGljdGlvbigpKTsKICAg
ICB9CiAgICAgCisgICAgYm9vbCBzaG91bGRTcGVjdWxhdGVCaWdJbnQoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGlzQmlnSW50U3BlY3VsYXRpb24ocHJlZGljdGlvbigpKTsKKyAgICB9CisgICAg
CiAgICAgYm9vbCBzaG91bGRTcGVjdWxhdGVGaW5hbE9iamVjdCgpCiAgICAgewogICAgICAgICBy
ZXR1cm4gaXNGaW5hbE9iamVjdFNwZWN1bGF0aW9uKHByZWRpY3Rpb24oKSk7CkBAIC0yNTEyLDYg
KzI1MTcsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gb3AxLT5zaG91bGRTcGVjdWxhdGVT
eW1ib2woKSAmJiBvcDItPnNob3VsZFNwZWN1bGF0ZVN5bWJvbCgpOwogICAgIH0KICAgICAKKyAg
ICBzdGF0aWMgYm9vbCBzaG91bGRTcGVjdWxhdGVCaWdJbnQoTm9kZSogb3AxLCBOb2RlKiBvcDIp
CisgICAgeworICAgICAgICByZXR1cm4gb3AxLT5zaG91bGRTcGVjdWxhdGVCaWdJbnQoKSAmJiBv
cDItPnNob3VsZFNwZWN1bGF0ZUJpZ0ludCgpOworICAgIH0KKyAgICAKICAgICBzdGF0aWMgYm9v
bCBzaG91bGRTcGVjdWxhdGVGaW5hbE9iamVjdChOb2RlKiBvcDEsIE5vZGUqIG9wMikKICAgICB7
CiAgICAgICAgIHJldHVybiBvcDEtPnNob3VsZFNwZWN1bGF0ZUZpbmFsT2JqZWN0KCkgJiYgb3Ay
LT5zaG91bGRTcGVjdWxhdGVGaW5hbE9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRl
eCBlNzBjZWI4NDNkMzg1Y2VkYWQ0ZDMwYjZmMmNmNGQ5MGMxZTIzMjQxLi5kZjg4MmIxZmIxMGQ5
Y2U0MDdiYjM0MGVhM2Q5ZTBmNzdjODhiYjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcApAQCAt
NDI0LDYgKzQyNCwxMSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9
IG1lcmdlUHJlZGljdGlvbihTcGVjU3ltYm9sKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlm
IChub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlQmlnSW50KCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24oU3BlY0JpZ0ludCk7CisgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAg
IGlmIChub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlU3RyaW5nSWRlbnQoKSkgewogICAg
ICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihTcGVjU3RyaW5nSWRl
bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVj
dXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRl
eCA3MTQ2ODE4NWRlNmU4ZTQ0OTNhNWQwMjAzZTdmM2JiYmQ5Zjg2NTA1Li4zMTYxNDRlYTQxOGM2
M2RhZGU4ZThiYTg5YzA5NzkzODZmNzA5OGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaApAQCAtNzAsNiArNzAsNyBAQCBwdWJsaWM6CiAgICAgICAg
IGNhc2UgU3RyaW5nVXNlOgogICAgICAgICBjYXNlIFN0cmluZ09yT3RoZXJVc2U6CiAgICAgICAg
IGNhc2UgU3ltYm9sVXNlOgorICAgICAgICBjYXNlIEJpZ0ludFVzZToKICAgICAgICAgY2FzZSBT
dHJpbmdPYmplY3RVc2U6CiAgICAgICAgIGNhc2UgU3RyaW5nT3JTdHJpbmdPYmplY3RVc2U6CiAg
ICAgICAgIGNhc2UgTm90U3RyaW5nVmFyVXNlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCA2ZGI5NDljZWRkNGExZmU5NzRjMmRkMmQ1
MGI5ODYwMGJhMTY3ZTA0Li5lMzkzNzRkOGUzMTA2ZGFiNWI3NDZlNGEyYTg2YmE5MTMwYTkyMWUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNw
cApAQCAtNTgxNyw2ICs1ODE3LDExIEBAIGJvb2wgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVTdHJp
Y3RFcShOb2RlKiBub2RlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIAorICAg
IGlmIChub2RlLT5pc0JpbmFyeVVzZUtpbmQoQmlnSW50VXNlKSkgeworICAgICAgICBjb21waWxl
QmlnSW50RXF1YWxpdHkobm9kZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAg
CiAgICAgaWYgKG5vZGUtPmlzQmluYXJ5VXNlS2luZChTeW1ib2xVc2UsIFVudHlwZWRVc2UpKSB7
CiAgICAgICAgIGNvbXBpbGVTeW1ib2xVbnR5cGVkRXF1YWxpdHkobm9kZSwgbm9kZS0+Y2hpbGQx
KCksIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtOTU5OCw2ICs5
NjAzLDIwIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZVN5bWJvbChFZGdlIGVkZ2Up
CiAgICAgc3BlY3VsYXRlU3ltYm9sKGVkZ2UsIG9wZXJhbmQuZ3ByKCkpOwogfQogCit2b2lkIFNw
ZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVCaWdJbnQoRWRnZSBlZGdlLCBHUFJSZWcgY2VsbCkKK3sK
KyAgICBERkdfVFlQRV9DSEVDSyhKU1ZhbHVlU291cmNlOjp1bmJveGVkQ2VsbChjZWxsKSwgZWRn
ZSwgflNwZWNDZWxsQ2hlY2sgfCBTcGVjQmlnSW50LCBtX2ppdC5icmFuY2hJZk5vdEJpZ0ludChj
ZWxsKSk7Cit9CisKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZUJpZ0ludChFZGdlIGVk
Z2UpCit7CisgICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBTcGVjQmlnSW50KSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgb3BlcmFuZCh0aGlzLCBlZGdl
KTsKKyAgICBzcGVjdWxhdGVCaWdJbnQoZWRnZSwgb3BlcmFuZC5ncHIoKSk7Cit9CisKIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZU5vdENlbGwoRWRnZSBlZGdlLCBKU1ZhbHVlUmVncyBy
ZWdzKQogewogICAgIERGR19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2UsIH5TcGVjQ2VsbENoZWNrLCBt
X2ppdC5icmFuY2hJZkNlbGwocmVncykpOwpAQCAtOTc2NCw2ICs5NzgzLDkgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6c3BlY3VsYXRlKE5vZGUqLCBFZGdlIGVkZ2UpCiAgICAgY2FzZSBTeW1ib2xV
c2U6CiAgICAgICAgIHNwZWN1bGF0ZVN5bWJvbChlZGdlKTsKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBCaWdJbnRVc2U6CisgICAgICAgIHNwZWN1bGF0ZUJpZ0ludChlZGdlKTsKKyAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBTdHJpbmdPYmplY3RVc2U6CiAgICAgICAgIHNwZWN1bGF0ZVN0cmlu
Z09iamVjdChlZGdlKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggZDBjMWQ4NTgxNTQwMjJhNzViMzUxZWE2NDZi
YTliZGE1Y2E2ZTFlMS4uMzIzMWNlZTk1OTY1NWNkZGUzZDhlZTYxOTE3OGYxNTU5NmYzM2M2OCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAt
MjkxMiw2ICsyOTEyLDcgQEAgcHVibGljOgogICAgIHZvaWQgY29tcGlsZU1pc2NTdHJpY3RFcShO
b2RlKik7CiAKICAgICB2b2lkIGNvbXBpbGVTeW1ib2xFcXVhbGl0eShOb2RlKik7CisgICAgdm9p
ZCBjb21waWxlQmlnSW50RXF1YWxpdHkoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZVBlZXBIb2xl
U3ltYm9sRXF1YWxpdHkoTm9kZSosIE5vZGUqIGJyYW5jaE5vZGUpOwogICAgIHZvaWQgY29tcGls
ZVN5bWJvbFVudHlwZWRFcXVhbGl0eShOb2RlKiwgRWRnZSBzeW1ib2xFZGdlLCBFZGdlIHVudHlw
ZWRFZGdlKTsKIApAQCAtMzI5Nyw2ICszMjk4LDggQEAgcHVibGljOgogICAgIHZvaWQgc3BlY3Vs
YXRlU3RyaW5nT3JTdHJpbmdPYmplY3QoRWRnZSk7CiAgICAgdm9pZCBzcGVjdWxhdGVTeW1ib2wo
RWRnZSwgR1BSUmVnIGNlbGwpOwogICAgIHZvaWQgc3BlY3VsYXRlU3ltYm9sKEVkZ2UpOworICAg
IHZvaWQgc3BlY3VsYXRlQmlnSW50KEVkZ2UsIEdQUlJlZyBjZWxsKTsKKyAgICB2b2lkIHNwZWN1
bGF0ZUJpZ0ludChFZGdlKTsKICAgICB2b2lkIHNwZWN1bGF0ZU5vdENlbGwoRWRnZSwgSlNWYWx1
ZVJlZ3MpOwogICAgIHZvaWQgc3BlY3VsYXRlTm90Q2VsbChFZGdlKTsKICAgICB2b2lkIHNwZWN1
bGF0ZU90aGVyKEVkZ2UsIEpTVmFsdWVSZWdzLCBHUFJSZWcgdGVtcCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCAy
MmQ0MzhkZDM0MmFmMGYyYjE2MzUwYTAxY2E0ZmQxYjU0MjRmNjM4Li5lYmVhNWEwNTZhMTRiNWQw
NjQ1YWUwZGRmODdiYjk4M2ZmOTRlZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTUyNDQsNiArNTI0NCw0MiBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJpdGhSYW5kb20oTm9kZSogbm9kZSkKICAg
ICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBub2RlKTsKIH0KIAordm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZUJpZ0ludEVxdWFsaXR5KE5vZGUqIG5vZGUpCit7CisgICAgLy8gRklYTUU6
IFtFU05leHRdW0JpZ0ludF0gQ3JlYXRlIHNwZWNpYWxpemVkIHZlcnNpb24gb2Ygc3RyaWN0IGVx
dWFscyBmb3IgQmlnSW50VXNlCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4Mjg5NQorICAgIEpTVmFsdWVPcGVyYW5kIGxlZnQodGhpcywgbm9kZS0+Y2hp
bGQxKCksIE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlvbik7CisgICAgSlNWYWx1ZU9wZXJhbmQgcmln
aHQodGhpcywgbm9kZS0+Y2hpbGQyKCksIE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlvbik7CisgICAg
R1BSUmVnIGxlZnRQYXlsb2FkR1BSID0gbGVmdC5wYXlsb2FkR1BSKCk7CisgICAgR1BSUmVnIHJp
Z2h0UGF5bG9hZEdQUiA9IHJpZ2h0LnBheWxvYWRHUFIoKTsKKyAgICBKU1ZhbHVlUmVncyBsZWZ0
UmVncyA9IGxlZnQuanNWYWx1ZVJlZ3MoKTsKKyAgICBKU1ZhbHVlUmVncyByaWdodFJlZ3MgPSBy
aWdodC5qc1ZhbHVlUmVncygpOworCisgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdFBheWxvYWQodGhp
cywgUmV1c2UsIGxlZnQsIFBheWxvYWRXb3JkKTsKKyAgICBHUFJSZWcgcmVzdWx0UGF5bG9hZEdQ
UiA9IHJlc3VsdFBheWxvYWQuZ3ByKCk7CisKKyAgICBsZWZ0LnVzZSgpOworICAgIHJpZ2h0LnVz
ZSgpOworCisgICAgc3BlY3VsYXRlQmlnSW50KG5vZGUtPmNoaWxkMSgpLCBsZWZ0UGF5bG9hZEdQ
Uik7CisgICAgc3BlY3VsYXRlQmlnSW50KG5vZGUtPmNoaWxkMigpLCByaWdodFBheWxvYWRHUFIp
OworCisgICAgSklUQ29tcGlsZXI6Okp1bXAgbm90RXF1YWxDYXNlID0gbV9qaXQuYnJhbmNoUHRy
KEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgbGVmdFBheWxvYWRHUFIsIHJpZ2h0UGF5bG9hZEdQUik7
CisKKyAgICBtX2ppdC5tb3ZlKEpJVENvbXBpbGVyOjpUcnVzdGVkSW1tMzIodHJ1ZSksIHJlc3Vs
dFBheWxvYWRHUFIpOworICAgIEpJVENvbXBpbGVyOjpKdW1wIGRvbmUgPSBtX2ppdC5qdW1wKCk7
CisKKyAgICBub3RFcXVhbENhc2UubGluaygmbV9qaXQpOworCisgICAgY2FsbE9wZXJhdGlvbihv
cGVyYXRpb25Db21wYXJlU3RyaWN0RXFDZWxsLCByZXN1bHRQYXlsb2FkR1BSLCBsZWZ0UmVncywg
cmlnaHRSZWdzKTsKKworICAgIG1faml0LmFuZFB0cihKSVRDb21waWxlcjo6VHJ1c3RlZEltbTMy
KDEpLCByZXN1bHRQYXlsb2FkR1BSKTsKKworICAgIGRvbmUubGluaygmbV9qaXQpOworCisgICAg
Ym9vbGVhblJlc3VsdChyZXN1bHRQYXlsb2FkR1BSLCBub2RlLCBVc2VDaGlsZHJlbkNhbGxlZEV4
cGxpY2l0bHkpOworfQorCiB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0SW5pdGlhbGl6ZUJ1dHRl
cmZseShHUFJSZWcgc3RvcmFnZUdQUiwgR1BSUmVnIHNpemVHUFIsIEpTVmFsdWVSZWdzIGVtcHR5
VmFsdWVSZWdzLCBHUFJSZWcgc2NyYXRjaEdQUikKIHsKICAgICBtX2ppdC5tb3ZlKHNpemVHUFIs
IHNjcmF0Y2hHUFIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHAKaW5kZXggMjQ5YWQ2ZDgyYmUyNTg4NWRjY2M3OTM3MjMzMzNiNjZiZWQ2
ZWYxYi4uMjA3ZmJlYjg1YmM1ZDgxZmYxZjIyZGUwN2ZiNTYwMzNiYzVkYzViZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC01
ODAxLDYgKzU4MDEsNDEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdEluaXRpYWxpemVCdXR0
ZXJmbHkoR1BSUmVnIHN0b3JhZ2VHUFIsIEdQUlJlZyBzaXplR1BSLAogICAgIGRvbmUubGluaygm
bV9qaXQpOwogfQogCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQmlnSW50RXF1YWxpdHko
Tm9kZSogbm9kZSkKK3sKKyAgICAvLyBGSVhNRTogW0VTTmV4dF1bQmlnSW50XSBDcmVhdGUgc3Bl
Y2lhbGl6ZWQgdmVyc2lvbiBvZiBzdHJpY3QgZXF1YWxzIGZvciBCaWdJbnRVc2UKKyAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyODk1CisgICAgSlNWYWx1
ZU9wZXJhbmQgbGVmdCh0aGlzLCBub2RlLT5jaGlsZDEoKSwgTWFudWFsT3BlcmFuZFNwZWN1bGF0
aW9uKTsKKyAgICBKU1ZhbHVlT3BlcmFuZCByaWdodCh0aGlzLCBub2RlLT5jaGlsZDIoKSwgTWFu
dWFsT3BlcmFuZFNwZWN1bGF0aW9uKTsKKyAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOwor
ICAgIEdQUlJlZyBsZWZ0R1BSID0gbGVmdC5ncHIoKTsKKyAgICBHUFJSZWcgcmlnaHRHUFIgPSBy
aWdodC5ncHIoKTsKKyAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0LmdwcigpOworCisgICAg
bGVmdC51c2UoKTsKKyAgICByaWdodC51c2UoKTsKKworICAgIHNwZWN1bGF0ZUJpZ0ludChub2Rl
LT5jaGlsZDEoKSwgbGVmdEdQUik7CisgICAgc3BlY3VsYXRlQmlnSW50KG5vZGUtPmNoaWxkMigp
LCByaWdodEdQUik7CisKKyAgICBKSVRDb21waWxlcjo6SnVtcCBub3RFcXVhbENhc2UgPSBtX2pp
dC5icmFuY2g2NChKSVRDb21waWxlcjo6Tm90RXF1YWwsIGxlZnRHUFIsIHJpZ2h0R1BSKTsKKwor
ICAgIG1faml0Lm1vdmUoSklUQ29tcGlsZXI6OlRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUo
anNCb29sZWFuKHRydWUpKSksIHJlc3VsdEdQUik7CisKKyAgICBKSVRDb21waWxlcjo6SnVtcCBk
b25lID0gbV9qaXQuanVtcCgpOworCisgICAgbm90RXF1YWxDYXNlLmxpbmsoJm1faml0KTsKKwor
ICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uQ29tcGFyZVN0cmljdEVxQ2VsbCwgcmVzdWx0R1BS
LCBsZWZ0R1BSLCByaWdodEdQUik7CisKKyAgICBtX2ppdC5hbmQ2NChKSVRDb21waWxlcjo6VHJ1
c3RlZEltbTMyKDEpLCByZXN1bHRHUFIpOworICAgIG1faml0Lm9yMzIoSklUQ29tcGlsZXI6OlRy
dXN0ZWRJbW0zMihWYWx1ZUZhbHNlKSwgcmVzdWx0R1BSKTsKKworICAgIGRvbmUubGluaygmbV9q
aXQpOworCisgICAganNWYWx1ZVJlc3VsdChyZXN1bHRHUFIsIG1fY3VycmVudE5vZGUsIERhdGFG
b3JtYXRKU0Jvb2xlYW4sIFVzZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7Cit9CisKIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBbGxvY2F0ZU5ld0FycmF5V2l0aFNpemUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgR1BSUmVnIHJlc3VsdEdQUiwgR1BSUmVnIHNpemVHUFIsIElu
ZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIGJvb2wgc2hvdWxkQ29udmVydExhcmdlU2l6ZVRvQXJy
YXlTdG9yYWdlKQogewogICAgIEdQUlRlbXBvcmFyeSBzdG9yYWdlKHRoaXMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVc2VLaW5kLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHVXNlS2luZC5jcHAKaW5kZXggYmQ5NDE5ZjcyMmYzYjkwYjI1ZTMx
NzhmYWU3NTU0ZDI2MzE2MjdmZS4uODRhOTZhZTU4NGE5NzA3ODFmMDgxYjU5MWZiNDc2MmRmZDZm
ZDFhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVc2VLaW5kLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1VzZUtpbmQuY3BwCkBAIC0xMzYs
NiArMTM2LDkgQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIFVzZUtpbmQg
dXNlS2luZCkKICAgICBjYXNlIFN5bWJvbFVzZToKICAgICAgICAgb3V0LnByaW50KCJTeW1ib2wi
KTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQmlnSW50VXNlOgorICAgICAgICBvdXQucHJp
bnQoIkJpZ0ludCIpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBTdHJpbmdPYmplY3RVc2U6
CiAgICAgICAgIG91dC5wcmludCgiU3RyaW5nT2JqZWN0Iik7CiAgICAgICAgIHJldHVybjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVXNlS2luZC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVc2VLaW5kLmgKaW5kZXggYzZiNTQ5Zjc3Mjc4MjFjMTYz
YWY1YmQ4OTA3YTNhNTc5Y2ZkYjkyNC4uYmNlZDlmNjA0Yjg3MmMwYjQzM2QzMTM0NTM3MmYzZmVj
YTQ2ZWViZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVc2VLaW5k
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVc2VLaW5kLmgKQEAgLTY1LDYg
KzY1LDcgQEAgZW51bSBVc2VLaW5kIHsKICAgICBLbm93blN0cmluZ1VzZSwKICAgICBLbm93blBy
aW1pdGl2ZVVzZSwgLy8gVGhpcyBiaXphcnJlIHR5cGUgYXJpc2VzIGZvciBvcF9zdHJjYXQsIHdo
aWNoIGhhcyBhIGJ5dGVjb2RlIGd1YXJhbnRlZSB0aGF0IGl0IHdpbGwgb25seSBzZWUgcHJpbWl0
aXZlcyAoaS5lLiBub3Qgb2JqZWN0cykuCiAgICAgU3ltYm9sVXNlLAorICAgIEJpZ0ludFVzZSwK
ICAgICBNYXBPYmplY3RVc2UsCiAgICAgU2V0T2JqZWN0VXNlLAogICAgIFdlYWtNYXBPYmplY3RV
c2UsCkBAIC0xNDgsNiArMTQ5LDggQEAgaW5saW5lIFNwZWN1bGF0ZWRUeXBlIHR5cGVGaWx0ZXJG
b3IoVXNlS2luZCB1c2VLaW5kKQogICAgICAgICByZXR1cm4gU3BlY0hlYXBUb3AgJiB+U3BlY09i
amVjdDsKICAgICBjYXNlIFN5bWJvbFVzZToKICAgICAgICAgcmV0dXJuIFNwZWNTeW1ib2w7Cisg
ICAgY2FzZSBCaWdJbnRVc2U6CisgICAgICAgIHJldHVybiBTcGVjQmlnSW50OwogICAgIGNhc2Ug
TWFwT2JqZWN0VXNlOgogICAgICAgICByZXR1cm4gU3BlY01hcE9iamVjdDsKICAgICBjYXNlIFNl
dE9iamVjdFVzZToKQEAgLTI0Niw2ICsyNDksNyBAQCBpbmxpbmUgYm9vbCBpc0NlbGwoVXNlS2lu
ZCBraW5kKQogICAgIGNhc2UgU3RyaW5nVXNlOgogICAgIGNhc2UgS25vd25TdHJpbmdVc2U6CiAg
ICAgY2FzZSBTeW1ib2xVc2U6CisgICAgY2FzZSBCaWdJbnRVc2U6CiAgICAgY2FzZSBTdHJpbmdP
YmplY3RVc2U6CiAgICAgY2FzZSBTdHJpbmdPclN0cmluZ09iamVjdFVzZToKICAgICBjYXNlIE1h
cE9iamVjdFVzZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2Fw
YWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVz
LmNwcAppbmRleCA0OTk1ZTNkMjViNzU2M2VhZTM5N2M3MzIyODA5Yjc2ZTgxNWEwZThkLi4xYTVh
NGQzMjMxNzNhMjIxNzFkNzkxZWZjYjQ0OGNiZjU3MWY0MjdiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCkBAIC01MjAsNiArNTIwLDcgQEAgQ2Fw
YWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoR3JhcGgmIGdyYXBoKQogICAgICAgICAgICAgICAgIGNh
c2UgU3RyaW5nT2JqZWN0VXNlOgogICAgICAgICAgICAgICAgIGNhc2UgU3RyaW5nT3JTdHJpbmdP
YmplY3RVc2U6CiAgICAgICAgICAgICAgICAgY2FzZSBTeW1ib2xVc2U6CisgICAgICAgICAgICAg
ICAgY2FzZSBCaWdJbnRVc2U6CiAgICAgICAgICAgICAgICAgY2FzZSBNYXBPYmplY3RVc2U6CiAg
ICAgICAgICAgICAgICAgY2FzZSBTZXRPYmplY3RVc2U6CiAgICAgICAgICAgICAgICAgY2FzZSBX
ZWFrTWFwT2JqZWN0VXNlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExMb3dlckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCmluZGV4IGQwZjI1Yzc3M2NmNDg5N2IyN2QwNTYxOWVmZmJlMDZjN2QyOTU4MTku
LjhiNjIyZWE2NmVmNmFmNThkZDc0MDM0NWE0OTEzMjZmNzA0OTBlMzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTY2MzIsNiArNjYzMiwz
NCBAQCBwcml2YXRlOgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIAor
ICAgICAgICBpZiAobV9ub2RlLT5pc0JpbmFyeVVzZUtpbmQoQmlnSW50VXNlKSkgeworICAgICAg
ICAgICAgLy8gRklYTUU6IFtFU05leHRdW0JpZ0ludF0gQ3JlYXRlIHNwZWNpYWxpemVkIHZlcnNp
b24gb2Ygc3RyaWN0IGVxdWFscyBmb3IgQmlnSW50VXNlCisgICAgICAgICAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyODk1CisgICAgICAgICAgICBzcGVj
dWxhdGUobV9ub2RlLT5jaGlsZDEoKSk7CisgICAgICAgICAgICBzcGVjdWxhdGUobV9ub2RlLT5j
aGlsZDIoKSk7CisKKyAgICAgICAgICAgIExWYWx1ZSBsZWZ0ID0gbG93SlNWYWx1ZShtX25vZGUt
PmNoaWxkMSgpLCBNYW51YWxPcGVyYW5kU3BlY3VsYXRpb24pOworICAgICAgICAgICAgTFZhbHVl
IHJpZ2h0ID0gbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpLCBNYW51YWxPcGVyYW5kU3BlY3Vs
YXRpb24pOworCisgICAgICAgICAgICBMQmFzaWNCbG9jayBzbG93UGF0aCA9IG1fb3V0Lm5ld0Js
b2NrKCk7CisgICAgICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdC
bG9jaygpOworCisgICAgICAgICAgICBMVmFsdWUgaXNFcXVhbFZhbHVlID0gbV9vdXQuZXF1YWwo
bGVmdCwgcmlnaHQpOworICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1f
b3V0LmFuY2hvcihpc0VxdWFsVmFsdWUpOworICAgICAgICAgICAgbV9vdXQuYnJhbmNoKGlzRXF1
YWxWYWx1ZSwgcmFyZWx5KGNvbnRpbnVhdGlvbiksIHVzdWFsbHkoc2xvd1BhdGgpKTsKKworICAg
ICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwg
Y29udGludWF0aW9uKTsKKworICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oc2xvd1BhdGgsIGNv
bnRpbnVhdGlvbik7CisgICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBzbG93UmVzdWx0ID0gbV9v
dXQuYW5jaG9yKG1fb3V0Lm5vdE51bGwodm1DYWxsKAorICAgICAgICAgICAgICAgIHBvaW50ZXJU
eXBlKCksIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25Db21wYXJlU3RyaWN0RXEpLCBtX2NhbGxG
cmFtZSwgbGVmdCwgcmlnaHQpKSk7CisgICAgICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlv
bik7CisKKyAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFzdE5leHQp
OworICAgICAgICAgICAgc2V0Qm9vbGVhbihtX291dC5waGkoSW50MzIsIGZhc3RSZXN1bHQsIHNs
b3dSZXN1bHQpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCiAgICAgICAgIGlm
IChtX25vZGUtPmlzQmluYXJ5VXNlS2luZChTeW1ib2xVc2UsIFVudHlwZWRVc2UpCiAgICAgICAg
ICAgICB8fCBtX25vZGUtPmlzQmluYXJ5VXNlS2luZChVbnR5cGVkVXNlLCBTeW1ib2xVc2UpKSB7
CiAgICAgICAgICAgICBFZGdlIHN5bWJvbEVkZ2UgPSBtX25vZGUtPmNoaWxkMSgpOwpAQCAtMTA3
NzMsNiArMTA4MDEsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHNwZWN1bGF0ZShCYWRUeXBl
LCBqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLm5vZGUoKSwgaXNOb3RTeW1ib2wodmFsdWUsIHBy
b3ZlblR5cGUoZWRnZSkpKTsKICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICBjYXNlIElu
ZmVycmVkVHlwZTo6QmlnSW50OgorICAgICAgICAgICAgc3BlY3VsYXRlKEJhZFR5cGUsIGpzVmFs
dWVWYWx1ZSh2YWx1ZSksIGVkZ2Uubm9kZSgpLCBpc05vdENlbGwodmFsdWUsIHByb3ZlblR5cGUo
ZWRnZSkpKTsKKyAgICAgICAgICAgIHNwZWN1bGF0ZShCYWRUeXBlLCBqc1ZhbHVlVmFsdWUodmFs
dWUpLCBlZGdlLm5vZGUoKSwgaXNOb3RCaWdJbnQodmFsdWUsIHByb3ZlblR5cGUoZWRnZSkpKTsK
KyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICBjYXNlIEluZmVycmVkVHlwZTo6T2JqZWN0
V2l0aFN0cnVjdHVyZTogewogICAgICAgICAgICAgUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1
cmUgPSBtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHR5cGUuc3RydWN0dXJlKCkpOwogICAgICAg
ICAgICAgc3BlY3VsYXRlKEJhZFR5cGUsIGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2Uubm9kZSgp
LCBpc05vdENlbGwodmFsdWUsIHByb3ZlblR5cGUoZWRnZSkpKTsKQEAgLTE0NDAyLDYgKzE0NDM1
LDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBCb29sZWFuVXNlOgogICAgICAgICAgICAgc3Bl
Y3VsYXRlQm9vbGVhbihlZGdlKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJp
Z0ludFVzZToKKyAgICAgICAgICAgIHNwZWN1bGF0ZUJpZ0ludChlZGdlKTsKKyAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIE5vdFN0cmluZ1ZhclVzZToKICAgICAgICAgICAgIHNwZWN1
bGF0ZU5vdFN0cmluZ1ZhcihlZGdlKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQ1NDMsNiAr
MTQ1NzksMTUgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50MzIodm0oKS5z
eW1ib2xTdHJ1Y3R1cmUtPmlkKCkpKTsKICAgICB9CiAKKyAgICBMVmFsdWUgaXNOb3RCaWdJbnQo
TFZhbHVlIGNlbGwsIFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSBTcGVjRnVsbFRvcCkKKyAgICB7Cisg
ICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBlICYgU3BlY0NlbGws
IH5TcGVjQmlnSW50KSkKKyAgICAgICAgICAgIHJldHVybiBwcm92ZW47CisgICAgICAgIHJldHVy
biBtX291dC5ub3RFcXVhbCgKKyAgICAgICAgICAgIG1fb3V0LmxvYWQzMihjZWxsLCBtX2hlYXBz
LkpTQ2VsbF9zdHJ1Y3R1cmVJRCksCisgICAgICAgICAgICBtX291dC5jb25zdEludDMyKHZtKCku
YmlnSW50U3RydWN0dXJlLT5pZCgpKSk7CisgICAgfQorCiAgICAgTFZhbHVlIGlzQXJyYXlUeXBl
Rm9yQXJyYXlpZnkoTFZhbHVlIGNlbGwsIEFycmF5TW9kZSBhcnJheU1vZGUpCiAgICAgewogICAg
ICAgICBzd2l0Y2ggKGFycmF5TW9kZS50eXBlKCkpIHsKQEAgLTE0OTEwLDYgKzE0OTU1LDE2IEBA
IHByaXZhdGU6CiAgICAgICAgIHNwZWN1bGF0ZVN5bWJvbChlZGdlLCBsb3dDZWxsKGVkZ2UpKTsK
ICAgICB9CiAKKyAgICB2b2lkIHNwZWN1bGF0ZUJpZ0ludChFZGdlIGVkZ2UsIExWYWx1ZSBjZWxs
KQorICAgIHsKKyAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKGNlbGwpLCBlZGdl
LCBTcGVjQmlnSW50LCBpc05vdEJpZ0ludChjZWxsKSk7CisgICAgfQorCisgICAgdm9pZCBzcGVj
dWxhdGVCaWdJbnQoRWRnZSBlZGdlKQorICAgIHsKKyAgICAgICAgc3BlY3VsYXRlQmlnSW50KGVk
Z2UsIGxvd0NlbGwoZWRnZSkpOworICAgIH0KKwogICAgIHZvaWQgc3BlY3VsYXRlTm9uTnVsbE9i
amVjdChFZGdlIGVkZ2UsIExWYWx1ZSBjZWxsKQogICAgIHsKICAgICAgICAgRlRMX1RZUEVfQ0hF
Q0soanNWYWx1ZVZhbHVlKGNlbGwpLCBlZGdlLCBTcGVjT2JqZWN0LCBpc05vdE9iamVjdChjZWxs
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVy
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5jcHAKaW5k
ZXggNTAxZjUzYmMzODc0MGFjY2ExZDZjYzE0NDRjYjZlN2Q3NGQ5OWZkZi4uNmRhYzY4YmVjZjRl
MTI0OGZkMzRlY2I0OGE2ZWVmOGM1MThkNTZjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcApAQCAtMTAwLDYgKzEwMCwxMSBAQCBBc3NlbWJseUhl
bHBlcnM6Okp1bXBMaXN0IEFzc2VtYmx5SGVscGVyczo6YnJhbmNoSWZOb3RUeXBlKAogICAgICAg
ICByZXN1bHQuYXBwZW5kKGJyYW5jaElmTm90U3ltYm9sKHJlZ3MucGF5bG9hZEdQUigpKSk7CiAg
ICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBJbmZlcnJlZFR5cGU6OkJpZ0ludDoKKyAgICAgICAg
cmVzdWx0LmFwcGVuZChicmFuY2hJZk5vdENlbGwocmVncywgbW9kZSkpOworICAgICAgICByZXN1
bHQuYXBwZW5kKGJyYW5jaElmTm90QmlnSW50KHJlZ3MucGF5bG9hZEdQUigpKSk7CisgICAgICAg
IGJyZWFrOworCiAgICAgY2FzZSBJbmZlcnJlZFR5cGU6Ok9iamVjdFdpdGhTdHJ1Y3R1cmU6CiAg
ICAgICAgIHJlc3VsdC5hcHBlbmQoYnJhbmNoSWZOb3RDZWxsKHJlZ3MsIG1vZGUpKTsKICAgICAg
ICAgcmVzdWx0LmFwcGVuZCgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
QXNzZW1ibHlIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVs
cGVycy5oCmluZGV4IDNhMWY2MmFhNjcxZDYxMWI5NTRiZDljNGJmMDExYWYzOTdhZjcxNDUuLjQ0
YzM3NGUwNDAzYWJlYmE1MDNmN2NhN2VmNDE5OTcwNTJhMDFkNTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaApAQCAtODczLDYgKzg3Myw4IEBAIHB1Ymxp
YzoKICAgICBKdW1wIGJyYW5jaElmTm90U3RyaW5nKEdQUlJlZyBjZWxsR1BSKSB7IHJldHVybiBi
cmFuY2hJZk5vdFR5cGUoY2VsbEdQUiwgU3RyaW5nVHlwZSk7IH0KICAgICBKdW1wIGJyYW5jaElm
U3ltYm9sKEdQUlJlZyBjZWxsR1BSKSB7IHJldHVybiBicmFuY2hJZlR5cGUoY2VsbEdQUiwgU3lt
Ym9sVHlwZSk7IH0KICAgICBKdW1wIGJyYW5jaElmTm90U3ltYm9sKEdQUlJlZyBjZWxsR1BSKSB7
IHJldHVybiBicmFuY2hJZk5vdFR5cGUoY2VsbEdQUiwgU3ltYm9sVHlwZSk7IH0KKyAgICBKdW1w
IGJyYW5jaElmQmlnSW50KEdQUlJlZyBjZWxsR1BSKSB7IHJldHVybiBicmFuY2hJZlR5cGUoY2Vs
bEdQUiwgQmlnSW50VHlwZSk7IH0KKyAgICBKdW1wIGJyYW5jaElmTm90QmlnSW50KEdQUlJlZyBj
ZWxsR1BSKSB7IHJldHVybiBicmFuY2hJZk5vdFR5cGUoY2VsbEdQUiwgQmlnSW50VHlwZSk7IH0K
ICAgICBKdW1wIGJyYW5jaElmRnVuY3Rpb24oR1BSUmVnIGNlbGxHUFIpIHsgcmV0dXJuIGJyYW5j
aElmVHlwZShjZWxsR1BSLCBKU0Z1bmN0aW9uVHlwZSk7IH0KICAgICBKdW1wIGJyYW5jaElmTm90
RnVuY3Rpb24oR1BSUmVnIGNlbGxHUFIpIHsgcmV0dXJuIGJyYW5jaElmTm90VHlwZShjZWxsR1BS
LCBKU0Z1bmN0aW9uVHlwZSk7IH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0luZmVycmVkVHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbmZlcnJlZFR5cGUuY3BwCmluZGV4IDYwMjk3YjI2MjUwMTY3OTE5MzZiNTljMDMxYzM3
ZjM4ODBmYzA0MDMuLjg1ZmMyYzBhZDYzY2M0OWNiOGFkYjA5ZTg4ZTNiZDU2ZWE4YjIwYjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luZmVycmVkVHlwZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5mZXJyZWRUeXBlLmNwcApAQCAt
MTQ1LDYgKzE0NSw4IEBAIEluZmVycmVkVHlwZTo6RGVzY3JpcHRvciBJbmZlcnJlZFR5cGU6OkRl
c2NyaXB0b3I6OmZvclZhbHVlKEpTVmFsdWUgdmFsdWUpCiAgICAgICAgICAgICByZXR1cm4gU3Ry
aW5nOwogICAgICAgICBpZiAoY2VsbC0+aXNTeW1ib2woKSkKICAgICAgICAgICAgIHJldHVybiBT
eW1ib2w7CisgICAgICAgIGlmIChjZWxsLT5pc0JpZ0ludCgpKQorICAgICAgICAgICAgcmV0dXJu
IEJpZ0ludDsKICAgICAgICAgaWYgKGNlbGwtPmlzT2JqZWN0KCkpIHsKICAgICAgICAgICAgIGlm
IChjZWxsLT5zdHJ1Y3R1cmUoKS0+dHJhbnNpdGlvbldhdGNocG9pbnRTZXRJc1N0aWxsVmFsaWQo
KSkKICAgICAgICAgICAgICAgICByZXR1cm4gRGVzY3JpcHRvcihPYmplY3RXaXRoU3RydWN0dXJl
LCBjZWxsLT5zdHJ1Y3R1cmUoKSk7CkBAIC0xODQsNiArMTg2LDcgQEAgUHV0QnlJZEZsYWdzIElu
ZmVycmVkVHlwZTo6RGVzY3JpcHRvcjo6cHV0QnlJZEZsYWdzKCkgY29uc3QKICAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4oUHV0QnlJZFByaW1hcnlUeXBlU2Vjb25kYXJ5
IHwgUHV0QnlJZFNlY29uZGFyeVR5cGVTeW1ib2wpOwogICAgIGNhc2UgT2JqZWN0OgogICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8UHV0QnlJZEZsYWdzPihQdXRCeUlkUHJpbWFyeVR5cGVTZWNv
bmRhcnkgfCBQdXRCeUlkU2Vjb25kYXJ5VHlwZU9iamVjdCk7CisgICAgY2FzZSBCaWdJbnQ6CiAg
ICAgY2FzZSBPYmplY3RPck90aGVyOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UHV0QnlJ
ZEZsYWdzPihQdXRCeUlkUHJpbWFyeVR5cGVTZWNvbmRhcnkgfCBQdXRCeUlkU2Vjb25kYXJ5VHlw
ZU9iamVjdE9yT3RoZXIpOwogICAgIGNhc2UgVG9wOgpAQCAtMjE0LDYgKzIxNyw3IEBAIHZvaWQg
SW5mZXJyZWRUeXBlOjpEZXNjcmlwdG9yOjptZXJnZShjb25zdCBEZXNjcmlwdG9yJiBvdGhlcikK
ICAgICBjYXNlIEJvb2xlYW46CiAgICAgY2FzZSBTdHJpbmc6CiAgICAgY2FzZSBTeW1ib2w6Cisg
ICAgY2FzZSBCaWdJbnQ6CiAgICAgICAgICp0aGlzID0gVG9wOwogICAgICAgICByZXR1cm47CiAg
ICAgY2FzZSBPdGhlcjoKQEAgLTUzMyw2ICs1MzcsOSBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJp
bnRTdHJlYW0mIG91dCwgSW5mZXJyZWRUeXBlOjpLaW5kIGtpbmQpCiAgICAgY2FzZSBJbmZlcnJl
ZFR5cGU6OlN5bWJvbDoKICAgICAgICAgb3V0LnByaW50KCJTeW1ib2wiKTsKICAgICAgICAgcmV0
dXJuOworICAgIGNhc2UgSW5mZXJyZWRUeXBlOjpCaWdJbnQ6CisgICAgICAgIG91dC5wcmludCgi
QmlnSW50Iik7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIEluZmVycmVkVHlwZTo6T2JqZWN0
V2l0aFN0cnVjdHVyZToKICAgICAgICAgb3V0LnByaW50KCJPYmplY3RXaXRoU3RydWN0dXJlIik7
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0luZmVycmVkVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5mZXJy
ZWRUeXBlLmgKaW5kZXggZTczZjExODAyMzczNGUyYWY1MDQyYTc3M2EwMmRlYWExZTMyN2QxMC4u
NGNjNDg3ZTZjZGZjMDliNjgyNWI2MTYyNDE2OTFkMjEwODg5NTQ1YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5mZXJyZWRUeXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5mZXJyZWRUeXBlLmgKQEAgLTY5LDYgKzY5LDcgQEAgcHVi
bGljOgogICAgICAgICBOdW1iZXIsCiAgICAgICAgIFN0cmluZywKICAgICAgICAgU3ltYm9sLAor
ICAgICAgICBCaWdJbnQsCiAgICAgICAgIE9iamVjdFdpdGhTdHJ1Y3R1cmUsCiAgICAgICAgIE9i
amVjdFdpdGhTdHJ1Y3R1cmVPck90aGVyLAogICAgICAgICBPYmplY3QsCkBAIC0xMzYsNiArMTM3
LDggQEAgcHVibGljOgogICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5pc1N0cmluZygpOwog
ICAgICAgICAgICAgY2FzZSBTeW1ib2w6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmlz
U3ltYm9sKCk7CisgICAgICAgICAgICBjYXNlIEJpZ0ludDoKKyAgICAgICAgICAgICAgICByZXR1
cm4gdmFsdWUuaXNCaWdJbnQoKTsKICAgICAgICAgICAgIGNhc2UgT2JqZWN0V2l0aFN0cnVjdHVy
ZToKICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuaXNDZWxsKCkgJiYgdmFsdWUuYXNDZWxs
KCktPnN0cnVjdHVyZSgpID09IG1fc3RydWN0dXJlOwogICAgICAgICAgICAgY2FzZSBPYmplY3RX
aXRoU3RydWN0dXJlT3JPdGhlcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQmlnSW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0lu
dC5oCmluZGV4IGQ0YWE4NmI1NDQwNzI5YWY2NzljYzMxZmVlNjQ0M2Q5Mjk3OTM2MmEuLjM1NTcy
ZWVhMjI0ZjVhZWEwMzJhMTMyNzNmNDMyMDUzOTU2MGNkNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNCaWdJbnQuaApAQCAtMzcsNiArMzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogY2xhc3MgSlNCaWdJbnQgOiBwdWJsaWMgSlNDZWxsIHsKICAgICB1c2luZyBCYXNlID0gSlND
ZWxsOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0
cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzVG9UaGlzOwogCiBwdWJsaWM6CiAKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjEyYTM1ZWI1YzIw
M2I0ZTNiNGZkYTU1ODI3ZGRkOTE3NTQ1M2Y5NC4uZWEzMjY0ZTdkMzJjNjhjNWNkYWMyM2JhYjVk
YjA0M2UxZGJkOTI3NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0wMi0xNiAgQ2FpbyBMaW1hICA8dGlj
YWlvbGltYUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTTmV4dF1bQmlnSW50XSBDcmVhdGUgc3Bl
Y2lhbGl6ZWQgdmVyc2lvbiBvZiBzdHJpY3QgZXF1YWxzIGZvciBCaWdJbnRVc2UKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Mjg5NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2JpZy1pbnQt
c3BlYy10by1wcmltaXRpdmUuanM6IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9iaWctaW50LXNw
ZWMtdG8tdGhpcy5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNzL2JpZy1pbnQtc3RyaWN0LWVx
dWFscy1qaXQuanM6IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9iaWctaW50LXN0cmljdC1zcGVj
LXRvLXRoaXMuanM6IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9iaWctaW50LXR5cGUtb2YtcHJv
dmVuLXR5cGUuanM6IEFkZGVkLgorCiAyMDE4LTAyLTE2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlA
YXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBidWdzIGZyb20gcjIyODQxMQpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy9zdHJlc3MvYmlnLWludC1zcGVjLXRvLXByaW1pdGl2ZS5qcyBiL0pTVGVzdHMvc3Ry
ZXNzL2JpZy1pbnQtc3BlYy10by1wcmltaXRpdmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGE0OTNmM2RhYmYx
MWY2NDc4N2NhODFjOTdlYmMwNGZmZjYwZTQ1OAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
c3RyZXNzL2JpZy1pbnQtc3BlYy10by1wcmltaXRpdmUuanMKQEAgLTAsMCArMSwxOSBAQAorLy9A
IHJ1bkJpZ0ludEVuYWJsZWQKKworZnVuY3Rpb24gYXNzZXJ0KGEpIHsKKyAgICBpZiAoIWEpCisg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbiIpOworfQorCitmdW5jdGlvbiBm
b28oaW5wdXQpIHsKKyAgICBsZXQgYSA9ICIiOworICAgIHJldHVybiAiIiArIGlucHV0ICsgIiI7
Cit9Citub0lubGluZShmb28pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsK
KyAgICBhc3NlcnQoZm9vKDEwbikgPT09ICIxMCIpOworfQorCithc3NlcnQobnVtYmVyT2ZERkdD
b21waWxlcyhmb28pID09PSAxKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWlu
dC1zcGVjLXRvLXRoaXMuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LXNwZWMtdG8tdGhpcy5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNDk1ZTM5ZWI5YTE0MzExYjE0YWE4MGNhNWEwYTYzY2RiYTk1MzE5Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1zcGVjLXRvLXRoaXMuanMK
QEAgLTAsMCArMSwyMiBAQAorLy9AIHJ1bkRlZmF1bHQoIi0tdXNlQmlnSW50PXRydWUiLCAiLS11
c2VDb25jdXJyZW50SklUPWZhbHNlIikKKworZnVuY3Rpb24gYXNzZXJ0KGEpIHsKKyAgICBpZiAo
IWEpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbiIpOworfQorCitmdW5j
dGlvbiBmb28oKSB7CisgICAgcmV0dXJuIHR5cGVvZiB0aGlzOworfQorbm9JbmxpbmUoZm9vKTsK
KworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7CisgICAgYXNzZXJ0KGZvby5hcHBs
eSgxMG4pID09PSAib2JqZWN0Iik7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7IGkr
KykgeworICAgIGFzc2VydChmb28uYXBwbHkoMzAwKSA9PT0gIm9iamVjdCIpOworfQorCithc3Nl
cnQobnVtYmVyT2ZERkdDb21waWxlcyhmb28pID09PSAxKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9zdHJlc3MvYmlnLWludC1zdHJpY3QtZXF1YWxzLWppdC5qcyBiL0pTVGVzdHMvc3RyZXNzL2Jp
Zy1pbnQtc3RyaWN0LWVxdWFscy1qaXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTYyYTEwZmE3OTE1YmZiNDEw
NTgwMTZmMjBjMmE5NmYxNGRhZjQxZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNz
L2JpZy1pbnQtc3RyaWN0LWVxdWFscy1qaXQuanMKQEAgLTAsMCArMSwyOSBAQAorLy9AIHJ1bkRl
ZmF1bHQoIi0tdXNlQmlnSW50PXRydWUiLCAiLS11c2VDb25jdXJyZW50SklUPWZhbHNlIikKKwor
ZnVuY3Rpb24gYXNzZXJ0KGEpIHsKKyAgICBpZiAoIWEpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIGFzc2VydGlvbiIpOworfQorCitmdW5jdGlvbiBmb28oYSwgYikgeworICAgIHJldHVy
biBhID09PSBiOworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
MDsgaSsrKSB7CisgICAgYXNzZXJ0KCFmb28oMm4sIDNuKSk7CisgICAgYXNzZXJ0KGZvbygzbiwg
M24pKTsKK30KKworYXNzZXJ0KCFmb28oMywgM24pKTsKK2Fzc2VydCghZm9vKDAuMzMsIDNuKSk7
Cithc3NlcnQoIWZvbygiMyIsIDNuKSk7Cithc3NlcnQoIWZvbyhTeW1ib2woIjMiKSwgM24pKTsK
K2Fzc2VydCghZm9vKHRydWUsIDNuKSk7Cithc3NlcnQoIWZvbyhmYWxzZSwgM24pKTsKK2Fzc2Vy
dCghZm9vKE5hTiwgM24pKTsKK2Fzc2VydCghZm9vKG51bGwsIDNuKSk7Cithc3NlcnQoIWZvbyh1
bmRlZmluZWQsIDNuKSk7Cithc3NlcnQoIWZvbygrSW5maW5pdHksIDNuKSk7Cithc3NlcnQoIWZv
bygtSW5maW5pdHksIDNuKSk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQt
c3RyaWN0LXNwZWMtdG8tdGhpcy5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtc3RyaWN0LXNw
ZWMtdG8tdGhpcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWQwM2JkMjdiODZkNzhmMjg5OWQ4YTEzYmYzZDYw
YWZlNGY5NmZlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1zdHJp
Y3Qtc3BlYy10by10aGlzLmpzCkBAIC0wLDAgKzEsMjMgQEAKKy8vQCBydW5EZWZhdWx0KCItLXVz
ZUJpZ0ludD10cnVlIiwgIi0tdXNlQ29uY3VycmVudEpJVD1mYWxzZSIpCisKK2Z1bmN0aW9uIGFz
c2VydChhKSB7CisgICAgaWYgKCFhKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3Nl
cnRpb24iKTsKK30KKworZnVuY3Rpb24gZm9vKCkgeworICAgICJ1c2Ugc3RyaWN0IjsKKyAgICBy
ZXR1cm4gdHlwZW9mIHRoaXM7Cit9Citub0lubGluZShmb28pOworCitmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDAwOyBpKyspIHsKKyAgICBhc3NlcnQoZm9vLmFwcGx5KDEwbikgPT09ICJiaWdpbnQi
KTsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7CisgICAgYXNzZXJ0KGZv
by5hcHBseSgzMDApID09PSAibnVtYmVyIik7Cit9CisKK2Fzc2VydChudW1iZXJPZkRGR0NvbXBp
bGVzKGZvbykgPiAxKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC10eXBl
LW9mLXByb3Zlbi10eXBlLmpzIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC10eXBlLW9mLXByb3Zl
bi10eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyZjUzOTc5OGM1MTkxZDIxNjRlMGYxYWRlYmY5ZjJmMjdm
MDE0MzgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LXR5cGUtb2Yt
cHJvdmVuLXR5cGUuanMKQEAgLTAsMCArMSwxOCBAQAorLy9AIHJ1bkRlZmF1bHQoIi0tdXNlQmln
SW50PXRydWUiLCAiLS11c2VDb25jdXJyZW50SklUPWZhbHNlIikKKworZnVuY3Rpb24gYXNzZXJ0
KGEpIHsKKyAgICBpZiAoIWEpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlv
biIpOworfQorCitmdW5jdGlvbiBmb28obykgeworICAgIGxldCBuZXdTdHJpbmcgPSBvLnRvU3Ry
aW5nKCk7CisgICAgaWYgKHR5cGVvZiBvID09PSAiYmlnaW50IikKKyAgICAgICAgcmV0dXJuIG5l
d1N0cmluZzsKK30KK25vSW5saW5lKGZvbyk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7
IGkrKykgeworICAgIGFzc2VydChmb28oM24pID09PSAiMyIpOworfQorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>