<?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>152358</bug_id>
          
          <creation_ts>2015-12-16 14:52:21 -0800</creation_ts>
          <short_desc>Add EqualOrUnordered to B3</short_desc>
          <delta_ts>2015-12-18 10:51:34 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>152425</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>150279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>benjamin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1149760</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-16 14:52:21 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149764</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-16 14:53:44 -0800</bug_when>
    <thetext>Benjamin: let me know if you&apos;re working on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149791</commentid>
    <comment_count>2</comment_count>
      <attachid>267504</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-16 15:48:50 -0800</bug_when>
    <thetext>Created attachment 267504
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149806</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-16 16:18:46 -0800</bug_when>
    <thetext>*** Bug 150903 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149809</commentid>
    <comment_count>4</comment_count>
      <attachid>267508</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-16 16:25:16 -0800</bug_when>
    <thetext>Created attachment 267508
a bit more</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150334</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-18 10:51:34 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 152425 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267504</attachid>
            <date>2015-12-16 15:48:50 -0800</date>
            <delta_ts>2015-12-16 16:25:16 -0800</delta_ts>
            <desc>work in progress</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>12860</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUu
Y3BwCShyZXZpc2lvbiAxOTQxNzUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dERvdWJsZVZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU4LDYgKzE1OCwxMyBAQCBUcmlT
dGF0ZSBDb25zdERvdWJsZVZhbHVlOjpncmVhdGVyRXF1YWxDCiAgICAgcmV0dXJuIHRyaVN0YXRl
KG1fdmFsdWUgPj0gb3RoZXItPmFzRG91YmxlKCkpOwogfQogCitUcmlTdGF0ZSBDb25zdERvdWJs
ZVZhbHVlOjplcXVhbE9yVW5vcmRlcmVkQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25z
dAoreworICAgIGlmICghb3RoZXItPmhhc0RvdWJsZSgpKQorICAgICAgICByZXR1cm4gTWl4ZWRU
cmlTdGF0ZTsKKyAgICByZXR1cm4gdHJpU3RhdGUobV92YWx1ZSA9PSBvdGhlci0+YXNEb3VibGUo
KSB8fCBtX3ZhbHVlICE9IG1fdmFsdWUgfHwgb3RoZXItPmFzRG91YmxlKCkgIT0gb3RoZXItPmFz
RG91YmxlKCkpOworfQorCiB2b2lkIENvbnN0RG91YmxlVmFsdWU6OmR1bXBNZXRhKENvbW1hUHJp
bnRlciYgY29tbWEsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KGNv
bW1hKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZh
bHVlLmgJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Nv
bnN0RG91YmxlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsNyBAQCBwdWJsaWM6
CiAgICAgVHJpU3RhdGUgZ3JlYXRlclRoYW5Db25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNv
bnN0IG92ZXJyaWRlOwogICAgIFRyaVN0YXRlIGxlc3NFcXVhbENvbnN0YW50KGNvbnN0IFZhbHVl
KiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUgZ3JlYXRlckVxdWFsQ29uc3Rh
bnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKKyAgICBUcmlTdGF0ZSBlcXVh
bE9yVW5vcmRlcmVkQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsK
IAogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJl
YW0mKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Nv
bnN0RmxvYXRWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQ29uc3RGbG9hdFZhbHVlLmNwcAkocmV2aXNpb24gMTk0MTc1KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUx
LDYgKzE1MSwxMyBAQCBUcmlTdGF0ZSBDb25zdEZsb2F0VmFsdWU6OmdyZWF0ZXJFcXVhbENvCiAg
ICAgcmV0dXJuIHRyaVN0YXRlKG1fdmFsdWUgPj0gb3RoZXItPmFzRmxvYXQoKSk7CiB9CiAKK1Ry
aVN0YXRlIENvbnN0RmxvYXRWYWx1ZTo6ZXF1YWxPclVub3JkZXJlZENvbnN0YW50KGNvbnN0IFZh
bHVlKiBvdGhlcikgY29uc3QKK3sKKyAgICBpZiAoIW90aGVyLT5oYXNGbG9hdCgpKQorICAgICAg
ICByZXR1cm4gTWl4ZWRUcmlTdGF0ZTsKKyAgICByZXR1cm4gdHJpU3RhdGUobV92YWx1ZSA9PSBv
dGhlci0+YXNGbG9hdCgpIHx8IG1fdmFsdWUgIT0gbV92YWx1ZSB8fCBvdGhlci0+YXNGbG9hdCgp
ICE9IG90aGVyLT5hc0Zsb2F0KCkpOworfQorCiB2b2lkIENvbnN0RmxvYXRWYWx1ZTo6ZHVtcE1l
dGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBv
dXQucHJpbnQoY29tbWEpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RG
bG9hdFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29u
c3RGbG9hdFZhbHVlLmgJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBA
IHB1YmxpYzoKICAgICBUcmlTdGF0ZSBncmVhdGVyVGhhbkNvbnN0YW50KGNvbnN0IFZhbHVlKiBv
dGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUgbGVzc0VxdWFsQ29uc3RhbnQoY29u
c3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBUcmlTdGF0ZSBncmVhdGVyRXF1
YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOworICAgIFRyaVN0
YXRlIGVxdWFsT3JVbm9yZGVyZWRDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92
ZXJyaWRlOwogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQ
cmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzTG93ZXJUb0Fpci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzTG93ZXJUb0Fpci5jcHAJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0xvd2VyVG9BaXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTY0LDYgKzEx
NjQsOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVSZWxDb25kKE1h
Y3JvQXNzZW1ibGVyOjpBYm92ZU9yRXF1YWwsIE1hY3JvQXNzZW1ibGVyOjpEb3VibGVFcXVhbCk7
CiAgICAgICAgICAgICBjYXNlIEJlbG93RXF1YWw6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGNy
ZWF0ZVJlbENvbmQoTWFjcm9Bc3NlbWJsZXI6OkJlbG93T3JFcXVhbCwgTWFjcm9Bc3NlbWJsZXI6
OkRvdWJsZUVxdWFsKTsKKyAgICAgICAgICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoKKyAgICAg
ICAgICAgICAgICAvLyBXZSB1c2UgYSBib2d1cyBpbnQgY29uZGl0aW9uIGJlY2F1c2UgdGhpcyBp
cyBhIGZsb2F0IGNvbXBhcmlzb24uCisgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVJlbENv
bmQoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLCBNYWNyb0Fzc2VtYmxlcjo6RG91YmxlRXF1YWxPclVu
b3JkZXJlZCk7CiAgICAgICAgICAgICBjYXNlIEJpdEFuZDogewogICAgICAgICAgICAgICAgIFZh
bHVlKiBsZWZ0ID0gdmFsdWUtPmNoaWxkKDApOwogICAgICAgICAgICAgICAgIFZhbHVlKiByaWdo
dCA9IHZhbHVlLT5jaGlsZCgxKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM09w
Y29kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzT3Bjb2Rl
LmNwcAkocmV2aXNpb24gMTk0MTc1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzT3Bj
b2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE1LDYgKzIxNSw5IEBAIHZvaWQgcHJpbnRJbnRl
cm5hbChQcmludFN0cmVhbSYgb3V0LCBPcGMKICAgICBjYXNlIEJlbG93RXF1YWw6CiAgICAgICAg
IG91dC5wcmludCgiQmVsb3dFcXVhbCIpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBFcXVh
bE9yVW5vcmRlcmVkOgorICAgICAgICBvdXQucHJpbnQoIkVxdWFsT3JVbm9yZGVyZWQiKTsKKyAg
ICAgICAgcmV0dXJuOwogICAgIGNhc2UgU2VsZWN0OgogICAgICAgICBvdXQucHJpbnQoIlNlbGVj
dCIpOwogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNP
cGNvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNPcGNvZGUu
aAkocmV2aXNpb24gMTk0MTc1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzT3Bjb2Rl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMyw2ICsxMjMsMTAgQEAgZW51bSBPcGNvZGUgOiBpbnQx
Nl90IHsKICAgICBBYm92ZUVxdWFsLAogICAgIEJlbG93RXF1YWwsCiAKKyAgICAvLyBTcGVjaWFs
IGRvdWJsZSBjb21wYXJpc29uLiBOb3RlIHRoYXQgaXQncyBmaW5lIHRvIHVzZSBFcXVhbChFcXVh
bE9yVW5vcmRlcmVkKHgsIHkpLCAwKSB0byBnZXQKKyAgICAvLyBOb3RFcXVhbEFuZE9yZGVyZWQo
eCwgeSksIHNpbmNlIHRoZSBpbnN0cnVjdGlvbiBzZWxlY3RvciBjaGV3cyB0aHJldyBzdWNoIGlu
dmVyc2lvbnMuCisgICAgRXF1YWxPclVub3JkZXJlZCwKKwogICAgIC8vIFNTQSBmb3JtIG9mIGNv
bmRpdGlvbmFsIG1vdmUuIFRoZSBmaXJzdCBjaGlsZCBpcyBldmFsdWF0ZWQgZm9yIHRydXRoaW5l
c3MuIElmIHRydWUsIHRoZSBzZWNvbmQgY2hpbGQKICAgICAvLyBpcyByZXR1cm5lZC4gT3RoZXJ3
aXNlLCB0aGUgdGhpcmQgY2hpbGQgaXMgcmV0dXJuZWQuCiAgICAgU2VsZWN0LApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUmVkdWNlU3RyZW5ndGguY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1JlZHVjZVN0cmVuZ3RoLmNwcAkocmV2aXNpb24g
MTk0MTc1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUmVkdWNlU3RyZW5ndGguY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDEwLDYgKzEwMTAsMTMgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgICAgICAgICAgbV92YWx1ZS0+Y2hpbGQoMCktPmJlbG93RXF1YWxDb25zdGFudChtX3ZhbHVl
LT5jaGlsZCgxKSkpKTsKICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgRXF1YWxP
clVub3JkZXJlZDoKKyAgICAgICAgICAgIHJlcGxhY2VXaXRoTmV3VmFsdWUoCisgICAgICAgICAg
ICAgICAgbV9wcm9jLmFkZEJvb2xDb25zdGFudCgKKyAgICAgICAgICAgICAgICAgICAgbV92YWx1
ZS0+b3JpZ2luKCksCisgICAgICAgICAgICAgICAgICAgIG1fdmFsdWUtPmNoaWxkKDApLT5lcXVh
bE9yVW5vcmRlcmVkQ29uc3RhbnQobV92YWx1ZS0+Y2hpbGQoMSkpKSk7CisgICAgICAgICAgICBi
cmVhazsKKwogICAgICAgICBjYXNlIENoZWNrQWRkOgogICAgICAgICAgICAgaWYgKHJlcGxhY2VX
aXRoTmV3VmFsdWUobV92YWx1ZS0+Y2hpbGQoMCktPmNoZWNrQWRkQ29uc3RhbnQobV9wcm9jLCBt
X3ZhbHVlLT5jaGlsZCgxKSkpKQogICAgICAgICAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsaWRhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1ZhbGlkYXRlLmNwcAkocmV2aXNpb24gMTk0MTc1KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsaWRhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NTUsNiArMjU1LDEyIEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBWQUxJREFURShpc0ludCh2
YWx1ZS0+Y2hpbGQoMCktPnR5cGUoKSksICgiQXQgIiwgKnZhbHVlKSk7CiAgICAgICAgICAgICAg
ICAgVkFMSURBVEUodmFsdWUtPnR5cGUoKSA9PSBJbnQzMiwgKCJBdCAiLCAqdmFsdWUpKTsKICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoK
KyAgICAgICAgICAgICAgICBWQUxJREFURSh2YWx1ZS0+bnVtQ2hpbGRyZW4oKSA9PSAyLCAoIkF0
ICIsICp2YWx1ZSkpOworICAgICAgICAgICAgICAgIFZBTElEQVRFKHZhbHVlLT5jaGlsZCgwKS0+
dHlwZSgpID09IHZhbHVlLT5jaGlsZCgxKS0+dHlwZSgpLCAoIkF0ICIsICp2YWx1ZSkpOworICAg
ICAgICAgICAgICAgIFZBTElEQVRFKGlzRmxvYXQodmFsdWUtPmNoaWxkKDApLT50eXBlKCkpLCAo
IkF0ICIsICp2YWx1ZSkpOworICAgICAgICAgICAgICAgIFZBTElEQVRFKHZhbHVlLT50eXBlKCkg
PT0gSW50MzIsICgiQXQgIiwgKnZhbHVlKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICBjYXNlIFNlbGVjdDoKICAgICAgICAgICAgICAgICBWQUxJREFURSh2YWx1ZS0+bnVt
Q2hpbGRyZW4oKSA9PSAzLCAoIkF0ICIsICp2YWx1ZSkpOwogICAgICAgICAgICAgICAgIFZBTElE
QVRFKGlzSW50KHZhbHVlLT5jaGlsZCgwKS0+dHlwZSgpKSwgKCJBdCAiLCAqdmFsdWUpKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5jcHAJKHJldmlzaW9uIDE5NDE3NSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
Mjg2LDYgKzI4NiwxMSBAQCBUcmlTdGF0ZSBWYWx1ZTo6YmVsb3dFcXVhbENvbnN0YW50KGNvbnN0
CiAgICAgcmV0dXJuIE1peGVkVHJpU3RhdGU7CiB9CiAKK1RyaVN0YXRlIFZhbHVlOjplcXVhbE9y
VW5vcmRlcmVkQ29uc3RhbnQoY29uc3QgVmFsdWUqKSBjb25zdAoreworICAgIHJldHVybiBNaXhl
ZFRyaVN0YXRlOworfQorCiBWYWx1ZSogVmFsdWU6OmludmVydGVkQ29tcGFyZShQcm9jZWR1cmUm
IHByb2MpIGNvbnN0CiB7CiAgICAgaWYgKCFudW1DaGlsZHJlbigpKQpAQCAtMzE1LDYgKzMyMCw3
IEBAIGJvb2wgVmFsdWU6OnJldHVybnNCb29sKCkgY29uc3QKICAgICBjYXNlIEJlbG93OgogICAg
IGNhc2UgQWJvdmVFcXVhbDoKICAgICBjYXNlIEJlbG93RXF1YWw6CisgICAgY2FzZSBFcXVhbE9y
VW5vcmRlcmVkOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBjYXNlIFBoaToKICAgICAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgc3RvcnkgaGVyZS4KQEAgLTM5MCw2ICszOTYsNyBA
QCBFZmZlY3RzIFZhbHVlOjplZmZlY3RzKCkgY29uc3QKICAgICBjYXNlIEJlbG93OgogICAgIGNh
c2UgQWJvdmVFcXVhbDoKICAgICBjYXNlIEJlbG93RXF1YWw6CisgICAgY2FzZSBFcXVhbE9yVW5v
cmRlcmVkOgogICAgIGNhc2UgU2VsZWN0OgogICAgICAgICBicmVhazsKICAgICBjYXNlIERpdjoK
QEAgLTQ4NCw2ICs0OTEsNyBAQCBWYWx1ZUtleSBWYWx1ZTo6a2V5KCkgY29uc3QKICAgICBjYXNl
IEJlbG93OgogICAgIGNhc2UgQWJvdmVFcXVhbDoKICAgICBjYXNlIEJlbG93RXF1YWw6CisgICAg
Y2FzZSBFcXVhbE9yVW5vcmRlcmVkOgogICAgIGNhc2UgQ2hlY2tBZGQ6CiAgICAgY2FzZSBDaGVj
a1N1YjoKICAgICBjYXNlIENoZWNrTXVsOgpAQCAtNTc4LDYgKzU4Niw3IEBAIFR5cGUgVmFsdWU6
OnR5cGVGb3IoT3Bjb2RlIG9wY29kZSwgVmFsdWUKICAgICBjYXNlIEJlbG93OgogICAgIGNhc2Ug
QWJvdmVFcXVhbDoKICAgICBjYXNlIEJlbG93RXF1YWw6CisgICAgY2FzZSBFcXVhbE9yVW5vcmRl
cmVkOgogICAgICAgICByZXR1cm4gSW50MzI7CiAgICAgY2FzZSBTRXh0MzI6CiAgICAgY2FzZSBa
RXh0MzI6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmgJKHJldmlzaW9uIDE5NDE3
NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE0NSw2ICsxNDUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBUcmlTdGF0ZSBiZWxvd0Nv
bnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Q7CiAgICAgdmlydHVhbCBUcmlTdGF0ZSBh
Ym92ZUVxdWFsQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdDsKICAgICB2aXJ0dWFs
IFRyaVN0YXRlIGJlbG93RXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0Owor
ICAgIHZpcnR1YWwgVHJpU3RhdGUgZXF1YWxPclVub3JkZXJlZENvbnN0YW50KGNvbnN0IFZhbHVl
KiBvdGhlcikgY29uc3Q7CiAKICAgICAvLyBJZiB0aGUgdmFsdWUgaXMgYSBjb21wYXJpc29uIHRo
ZW4gdGhpcyByZXR1cm5zIHRoZSBpbnZlcnRlZCBmb3JtIG9mIHRoYXQgY29tcGFyaXNvbiwgaWYK
ICAgICAvLyBwb3NzaWJsZS4gSXQgY2FuIGJlIGltcG9zc2libGUgZm9yIGRvdWJsZSBjb21wYXJp
c29ucywgd2hlcmUgZm9yIGV4YW1wbGUgTGVzc1RoYW4gYW5kCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEIzT3V0cHV0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExCM091dHB1dC5oCShyZXZpc2lvbiAxOTQxNzUpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTEIzT3V0cHV0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1NCw2ICsx
NTQsOCBAQCBwdWJsaWM6CiAgICAgTFZhbHVlIGxTaHIoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdo
dCkgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6WlNo
ciwgb3JpZ2luKCksIGxlZnQsIGNhc3RUb0ludDMyKHJpZ2h0KSk7IH0KICAgICBMVmFsdWUgYml0
Tm90KExWYWx1ZSk7CiAKKyAgICBMVmFsdWUgbG9naWNhbE5vdChMVmFsdWUgdmFsdWUpIHsgcmV0
dXJuIGlzWmVybzMyKHZhbHVlKTsgfQorCiAgICAgTFZhbHVlIGN0bHozMihMVmFsdWUgb3BlcmFu
ZCkgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6Q2x6
LCBvcmlnaW4oKSwgb3BlcmFuZCk7IH0KICAgICBMVmFsdWUgYWRkV2l0aE92ZXJmbG93MzIoTFZh
bHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyBDUkFTSCgpOyB9CiAgICAgTFZhbHVlIHN1YldpdGhP
dmVyZmxvdzMyKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgQ1JBU0goKTsgfQpAQCAtMzMx
LDQwICszMzMsMTcgQEAgcHVibGljOgogICAgIExWYWx1ZSBsZXNzVGhhbk9yRXF1YWwoTFZhbHVl
IGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1
ZT4obV9wcm9jLCBCMzo6TGVzc0VxdWFsLCBvcmlnaW4oKSwgbGVmdCwgcmlnaHQpOyB9CiAKICAg
ICBMVmFsdWUgZG91YmxlRXF1YWwoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4g
bV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6RXF1YWwsIG9yaWdpbigp
LCBsZWZ0LCByaWdodCk7IH0KLSAgICBMVmFsdWUgZG91YmxlTm90RXF1YWxPclVub3JkZXJlZChM
VmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6
OlZhbHVlPihtX3Byb2MsIEIzOjpOb3RFcXVhbCwgb3JpZ2luKCksIGxlZnQsIHJpZ2h0KTsgfQor
ICAgIExWYWx1ZSBkb3VibGVFcXVhbE9yVW5vcmRlcmVkKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmln
aHQpIHsgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6OkVx
dWFsT3JVbm9yZGVyZWQsIG9yaWdpbigpLCBsZWZ0LCByaWdodCk7IH0KICAgICBMVmFsdWUgZG91
YmxlTGVzc1RoYW4oTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbV9ibG9jay0+
YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6TGVzc1RoYW4sIG9yaWdpbigpLCBsZWZ0
LCByaWdodCk7IH0KICAgICBMVmFsdWUgZG91YmxlTGVzc1RoYW5PckVxdWFsKExWYWx1ZSBsZWZ0
LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1f
cHJvYywgQjM6Okxlc3NFcXVhbCwgb3JpZ2luKCksIGxlZnQsIHJpZ2h0KTsgfQogICAgIExWYWx1
ZSBkb3VibGVHcmVhdGVyVGhhbihMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBt
X2Jsb2NrLT5hcHBlbmROZXc8QjM6OlZhbHVlPihtX3Byb2MsIEIzOjpHcmVhdGVyVGhhbiwgb3Jp
Z2luKCksIGxlZnQsIHJpZ2h0KTsgfQogICAgIExWYWx1ZSBkb3VibGVHcmVhdGVyVGhhbk9yRXF1
YWwoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3
PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6R3JlYXRlckVxdWFsLCBvcmlnaW4oKSwgbGVmdCwgcmln
aHQpOyB9Ci0gICAgTFZhbHVlIGRvdWJsZU5vdEVxdWFsKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmln
aHQpIHsgQ1JBU0goKTsgfQotICAgIExWYWx1ZSBkb3VibGVMZXNzVGhhbk9yVW5vcmRlcmVkKExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpCi0gICAgewotICAgICAgICByZXR1cm4gbV9ibG9jay0+
YXBwZW5kTmV3PEIzOjpWYWx1ZT4oCi0gICAgICAgICAgICBtX3Byb2MsIEIzOjpFcXVhbCwgb3Jp
Z2luKCksCi0gICAgICAgICAgICBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OlZhbHVlPihtX3Byb2Ms
IEIzOjpHcmVhdGVyRXF1YWwsIG9yaWdpbigpLCBsZWZ0LCByaWdodCksCi0gICAgICAgICAgICBp
bnQzMlplcm8pOwotICAgIH0KLSAgICBMVmFsdWUgZG91YmxlTGVzc1RoYW5PckVxdWFsT3JVbm9y
ZGVyZWQoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBt
X2Jsb2NrLT5hcHBlbmROZXc8QjM6OlZhbHVlPigKLSAgICAgICAgICAgIG1fcHJvYywgQjM6OkVx
dWFsLCBvcmlnaW4oKSwKLSAgICAgICAgICAgIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+
KG1fcHJvYywgQjM6OkdyZWF0ZXJUaGFuLCBvcmlnaW4oKSwgbGVmdCwgcmlnaHQpLAotICAgICAg
ICAgICAgaW50MzJaZXJvKTsKLSAgICB9Ci0gICAgTFZhbHVlIGRvdWJsZUdyZWF0ZXJUaGFuT3JV
bm9yZGVyZWQoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OlZhbHVlPigKLSAgICAgICAgICAgIG1fcHJvYywgQjM6
OkVxdWFsLCBvcmlnaW4oKSwKLSAgICAgICAgICAgIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFs
dWU+KG1fcHJvYywgQjM6Okxlc3NFcXVhbCwgb3JpZ2luKCksIGxlZnQsIHJpZ2h0KSwKLSAgICAg
ICAgICAgIGludDMyWmVybyk7Ci0gICAgfQotICAgIExWYWx1ZSBkb3VibGVHcmVhdGVyVGhhbk9y
RXF1YWxPclVub3JkZXJlZChMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KAotICAgICAgICAgICAgbV9w
cm9jLCBCMzo6RXF1YWwsIG9yaWdpbigpLAotICAgICAgICAgICAgbV9ibG9jay0+YXBwZW5kTmV3
PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6TGVzc1RoYW4sIG9yaWdpbigpLCBsZWZ0LCByaWdodCks
Ci0gICAgICAgICAgICBpbnQzMlplcm8pOwotICAgIH0KKyAgICBMVmFsdWUgZG91YmxlTm90RXF1
YWwoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbG9naWNhbE5vdChkb3VibGVF
cXVhbE9yVW5vcmRlcmVkKGxlZnQsIHJpZ2h0KSk7IH0KKyAgICBMVmFsdWUgZG91YmxlTm90RXF1
YWxPclVub3JkZXJlZChMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBtX2Jsb2Nr
LT5hcHBlbmROZXc8QjM6OlZhbHVlPihtX3Byb2MsIEIzOjpOb3RFcXVhbCwgb3JpZ2luKCksIGxl
ZnQsIHJpZ2h0KTsgfQorICAgIExWYWx1ZSBkb3VibGVMZXNzVGhhbk9yVW5vcmRlcmVkKExWYWx1
ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxvZ2ljYWxOb3QoZG91YmxlR3JlYXRlclRo
YW5PckVxdWFsKGxlZnQsIHJpZ2h0KSk7IH0KKyAgICBMVmFsdWUgZG91YmxlTGVzc1RoYW5PckVx
dWFsT3JVbm9yZGVyZWQoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbG9naWNh
bE5vdChkb3VibGVHcmVhdGVyVGhhbihsZWZ0LCByaWdodCkpOyB9CisgICAgTFZhbHVlIGRvdWJs
ZUdyZWF0ZXJUaGFuT3JVbm9yZGVyZWQoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1
cm4gbG9naWNhbE5vdChkb3VibGVMZXNzVGhhbk9yRXF1YWwobGVmdCwgcmlnaHQpKTsgfQorICAg
IExWYWx1ZSBkb3VibGVHcmVhdGVyVGhhbk9yRXF1YWxPclVub3JkZXJlZChMVmFsdWUgbGVmdCwg
TFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsb2dpY2FsTm90KGRvdWJsZUxlc3NUaGFuKGxlZnQsIHJp
Z2h0KSk7IH0KIAogICAgIExWYWx1ZSBpc1plcm8zMihMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIG1f
YmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6OkVxdWFsLCBvcmlnaW4oKSwg
dmFsdWUsIGludDMyWmVybyk7IH0KICAgICBMVmFsdWUgbm90WmVybzMyKExWYWx1ZSB2YWx1ZSkg
eyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6Tm90RXF1
YWwsIG9yaWdpbigpLCB2YWx1ZSwgaW50MzJaZXJvKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267508</attachid>
            <date>2015-12-16 16:25:16 -0800</date>
            <delta_ts>2015-12-16 16:25:16 -0800</delta_ts>
            <desc>a bit more</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>17496</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyLmgJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTM2NSw2ICsxMzY1LDIzIEBA
IHB1YmxpYzoKICAgICB9CiAjZW5kaWYKIAorICAgIC8vIFdlIHNob3VsZCBpbXBsZW1lbnQgdGhp
cyB0aGUgcmlnaHQgd2F5IGV2ZW50dWFsbHksIGJ1dCBmb3Igbm93LCBpdCdzIGZpbmUgYmVjYXVz
ZSBpdCBhcmlzZXMgc28KKyAgICAvLyBpbmZyZXF1ZW50bHkuCisgICAgdm9pZCBjb21wYXJlRG91
YmxlKERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklE
IHJpZ2h0LCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBtb3ZlMzIoVHJ1c3RlZElt
bTMyKDApLCBkZXN0KTsKKyAgICAgICAgSnVtcCBmYWxzZUNhc2UgPSBicmFuY2hEb3VibGUoaW52
ZXJ0KGNvbmQpLCBsZWZ0LCByaWdodCk7CisgICAgICAgIG1vdmUzMihUcnVzdGVkSW1tMzIoMSks
IGRlc3QpOworICAgICAgICBmYWxzZUNhc2UubGluayh0aGlzKTsKKyAgICB9CisgICAgdm9pZCBj
b21wYXJlRmxvYXQoRG91YmxlQ29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJl
Z2lzdGVySUQgcmlnaHQsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIG1vdmUzMihU
cnVzdGVkSW1tMzIoMCksIGRlc3QpOworICAgICAgICBKdW1wIGZhbHNlQ2FzZSA9IGJyYW5jaEZs
b2F0KGludmVydChjb25kKSwgbGVmdCwgcmlnaHQpOworICAgICAgICBtb3ZlMzIoVHJ1c3RlZElt
bTMyKDEpLCBkZXN0KTsKKyAgICAgICAgZmFsc2VDYXNlLmxpbmsodGhpcyk7CisgICAgfQorCiAg
ICAgdm9pZCBsZWEoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAg
ICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKGFkZHJlc3Mub2Zmc2V0KSwgYWRkcmVzcy5iYXNlLCBk
ZXN0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91Ymxl
VmFsdWUuY3BwCShyZXZpc2lvbiAxOTQxNzUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDb25zdERvdWJsZVZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU4LDYgKzE1OCwxMyBA
QCBUcmlTdGF0ZSBDb25zdERvdWJsZVZhbHVlOjpncmVhdGVyRXF1YWxDCiAgICAgcmV0dXJuIHRy
aVN0YXRlKG1fdmFsdWUgPj0gb3RoZXItPmFzRG91YmxlKCkpOwogfQogCitUcmlTdGF0ZSBDb25z
dERvdWJsZVZhbHVlOjplcXVhbE9yVW5vcmRlcmVkQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVy
KSBjb25zdAoreworICAgIGlmICghb3RoZXItPmhhc0RvdWJsZSgpKQorICAgICAgICByZXR1cm4g
TWl4ZWRUcmlTdGF0ZTsKKyAgICByZXR1cm4gdHJpU3RhdGUobV92YWx1ZSA9PSBvdGhlci0+YXNE
b3VibGUoKSB8fCBtX3ZhbHVlICE9IG1fdmFsdWUgfHwgb3RoZXItPmFzRG91YmxlKCkgIT0gb3Ro
ZXItPmFzRG91YmxlKCkpOworfQorCiB2b2lkIENvbnN0RG91YmxlVmFsdWU6OmR1bXBNZXRhKENv
bW1hUHJpbnRlciYgY29tbWEsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnBy
aW50KGNvbW1hKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91Ymxl
VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERv
dWJsZVZhbHVlLmgJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0RG91YmxlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsNyBAQCBw
dWJsaWM6CiAgICAgVHJpU3RhdGUgZ3JlYXRlclRoYW5Db25zdGFudChjb25zdCBWYWx1ZSogb3Ro
ZXIpIGNvbnN0IG92ZXJyaWRlOwogICAgIFRyaVN0YXRlIGxlc3NFcXVhbENvbnN0YW50KGNvbnN0
IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUgZ3JlYXRlckVxdWFs
Q29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKKyAgICBUcmlTdGF0
ZSBlcXVhbE9yVW5vcmRlcmVkQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVy
cmlkZTsKIAogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJp
bnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmNwcAkocmV2aXNpb24gMTk0MTc1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTUxLDYgKzE1MSwxMyBAQCBUcmlTdGF0ZSBDb25zdEZsb2F0VmFsdWU6OmdyZWF0ZXJFcXVh
bENvCiAgICAgcmV0dXJuIHRyaVN0YXRlKG1fdmFsdWUgPj0gb3RoZXItPmFzRmxvYXQoKSk7CiB9
CiAKK1RyaVN0YXRlIENvbnN0RmxvYXRWYWx1ZTo6ZXF1YWxPclVub3JkZXJlZENvbnN0YW50KGNv
bnN0IFZhbHVlKiBvdGhlcikgY29uc3QKK3sKKyAgICBpZiAoIW90aGVyLT5oYXNGbG9hdCgpKQor
ICAgICAgICByZXR1cm4gTWl4ZWRUcmlTdGF0ZTsKKyAgICByZXR1cm4gdHJpU3RhdGUobV92YWx1
ZSA9PSBvdGhlci0+YXNGbG9hdCgpIHx8IG1fdmFsdWUgIT0gbV92YWx1ZSB8fCBvdGhlci0+YXNG
bG9hdCgpICE9IG90aGVyLT5hc0Zsb2F0KCkpOworfQorCiB2b2lkIENvbnN0RmxvYXRWYWx1ZTo6
ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsK
ICAgICBvdXQucHJpbnQoY29tbWEpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q29uc3RGbG9hdFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQ29uc3RGbG9hdFZhbHVlLmgJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1
OSw3IEBAIHB1YmxpYzoKICAgICBUcmlTdGF0ZSBncmVhdGVyVGhhbkNvbnN0YW50KGNvbnN0IFZh
bHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUgbGVzc0VxdWFsQ29uc3Rh
bnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBUcmlTdGF0ZSBncmVh
dGVyRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOworICAg
IFRyaVN0YXRlIGVxdWFsT3JVbm9yZGVyZWRDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNv
bnN0IG92ZXJyaWRlOwogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50
ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9BaXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTY0
LDYgKzExNjQsOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVSZWxD
b25kKE1hY3JvQXNzZW1ibGVyOjpBYm92ZU9yRXF1YWwsIE1hY3JvQXNzZW1ibGVyOjpEb3VibGVF
cXVhbCk7CiAgICAgICAgICAgICBjYXNlIEJlbG93RXF1YWw6CiAgICAgICAgICAgICAgICAgcmV0
dXJuIGNyZWF0ZVJlbENvbmQoTWFjcm9Bc3NlbWJsZXI6OkJlbG93T3JFcXVhbCwgTWFjcm9Bc3Nl
bWJsZXI6OkRvdWJsZUVxdWFsKTsKKyAgICAgICAgICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoK
KyAgICAgICAgICAgICAgICAvLyBXZSB1c2UgYSBib2d1cyBpbnQgY29uZGl0aW9uIGJlY2F1c2Ug
dGhpcyBpcyBhIGZsb2F0IGNvbXBhcmlzb24uCisgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0
ZVJlbENvbmQoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLCBNYWNyb0Fzc2VtYmxlcjo6RG91YmxlRXF1
YWxPclVub3JkZXJlZCk7CiAgICAgICAgICAgICBjYXNlIEJpdEFuZDogewogICAgICAgICAgICAg
ICAgIFZhbHVlKiBsZWZ0ID0gdmFsdWUtPmNoaWxkKDApOwogICAgICAgICAgICAgICAgIFZhbHVl
KiByaWdodCA9IHZhbHVlLT5jaGlsZCgxKTsKQEAgLTE0MjIsMTMgKzE0MjUsMjAgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEluc3QoKTsKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgW3RoaXNdIChjb25zdCBBcmcmLCBjb25zdCBB
cmdQcm9taXNlJiwgY29uc3QgQXJnUHJvbWlzZSYpIC0+IEluc3QgewotICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KLSAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwOTAzCisgICAgICAgICAgICBbdGhpc10g
KGNvbnN0IEFyZyYgZG91YmxlQ29uZCwgY29uc3QgQXJnUHJvbWlzZSYgbGVmdCwgY29uc3QgQXJn
UHJvbWlzZSYgcmlnaHQpIC0+IEluc3QgeworICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkRm9y
bShDb21wYXJlRG91YmxlLCBBcmc6OkRvdWJsZUNvbmQsIGxlZnQua2luZCgpLCByaWdodC5raW5k
KCksIEFyZzo6VG1wKSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gSW5zdCgKKyAgICAg
ICAgICAgICAgICAgICAgICAgIENvbXBhcmVEb3VibGUsIG1fdmFsdWUsIGRvdWJsZUNvbmQsCisg
ICAgICAgICAgICAgICAgICAgICAgICBsZWZ0LmNvbnN1bWUoKnRoaXMpLCByaWdodC5jb25zdW1l
KCp0aGlzKSwgdG1wKG1fdmFsdWUpKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIEluc3QoKTsKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICBbdGhpc10gKGNv
bnN0IEFyZyYsIGNvbnN0IEFyZ1Byb21pc2UmLCBjb25zdCBBcmdQcm9taXNlJikgLT4gSW5zdCB7
Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgorICAgICAgICAgICAg
ICAgIGlmIChpc1ZhbGlkRm9ybShDb21wYXJlRmxvYXQsIEFyZzo6RG91YmxlQ29uZCwgbGVmdC5r
aW5kKCksIHJpZ2h0LmtpbmQoKSwgQXJnOjpUbXApKSB7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBJbnN0KAorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGFyZUZsb2F0LCBtX3ZhbHVl
LCBkb3VibGVDb25kLAorICAgICAgICAgICAgICAgICAgICAgICAgbGVmdC5jb25zdW1lKCp0aGlz
KSwgcmlnaHQuY29uc3VtZSgqdGhpcyksIHRtcChtX3ZhbHVlKSk7CisgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIHJldHVybiBJbnN0KCk7CiAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgaW52ZXJ0ZWQpOwpAQCAtMTY0OSw2ICsxNjU5LDkgQEAgcHJpdmF0ZToKICAgICAgICAg
fQogCiAgICAgICAgIGNhc2UgQml0WG9yOiB7CisgICAgICAgICAgICAvLyBGSVhNRTogSWYgY2Fu
QmVJbnRlcm5hbChjaGlsZCksIHdlIHNob3VsZCBnZW5lcmF0ZSB0aGlzIHVzaW5nIHRoZSBjb21w
YXJpc29uIHBhdGguCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUyMzY3CisgICAgICAgICAgICAKICAgICAgICAgICAgIGlmIChtX3ZhbHVl
LT5jaGlsZCgxKS0+aXNJbnQoLTEpKSB7CiAgICAgICAgICAgICAgICAgYXBwZW5kVW5PcDxOb3Qz
MiwgTm90NjQ+KG1fdmFsdWUtPmNoaWxkKDApKTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBA
IC0xODQxLDcgKzE4NTQsOCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFib3ZlOgogICAgICAg
ICBjYXNlIEJlbG93OgogICAgICAgICBjYXNlIEFib3ZlRXF1YWw6Ci0gICAgICAgIGNhc2UgQmVs
b3dFcXVhbDogeworICAgICAgICBjYXNlIEJlbG93RXF1YWw6CisgICAgICAgIGNhc2UgRXF1YWxP
clVub3JkZXJlZDogewogICAgICAgICAgICAgbV9pbnN0cy5sYXN0KCkuYXBwZW5kKGNyZWF0ZUNv
bXBhcmUobV92YWx1ZSkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNPcGNvZGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM09wY29kZS5jcHAJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM09wY29kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIx
NSw2ICsyMTUsOSBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgT3BjCiAg
ICAgY2FzZSBCZWxvd0VxdWFsOgogICAgICAgICBvdXQucHJpbnQoIkJlbG93RXF1YWwiKTsKICAg
ICAgICAgcmV0dXJuOworICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoKKyAgICAgICAgb3V0LnBy
aW50KCJFcXVhbE9yVW5vcmRlcmVkIik7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIFNlbGVj
dDoKICAgICAgICAgb3V0LnByaW50KCJTZWxlY3QiKTsKICAgICAgICAgcmV0dXJuOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzT3Bjb2RlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzT3Bjb2RlLmgJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM09wY29kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNiAr
MTIzLDEwIEBAIGVudW0gT3Bjb2RlIDogaW50MTZfdCB7CiAgICAgQWJvdmVFcXVhbCwKICAgICBC
ZWxvd0VxdWFsLAogCisgICAgLy8gU3BlY2lhbCBkb3VibGUgY29tcGFyaXNvbi4gTm90ZSB0aGF0
IGl0J3MgZmluZSB0byB1c2UgRXF1YWwoRXF1YWxPclVub3JkZXJlZCh4LCB5KSwgMCkgdG8gZ2V0
CisgICAgLy8gTm90RXF1YWxBbmRPcmRlcmVkKHgsIHkpLCBzaW5jZSB0aGUgaW5zdHJ1Y3Rpb24g
c2VsZWN0b3IgY2hld3MgdGhyZXcgc3VjaCBpbnZlcnNpb25zLgorICAgIEVxdWFsT3JVbm9yZGVy
ZWQsCisKICAgICAvLyBTU0EgZm9ybSBvZiBjb25kaXRpb25hbCBtb3ZlLiBUaGUgZmlyc3QgY2hp
bGQgaXMgZXZhbHVhdGVkIGZvciB0cnV0aGluZXNzLiBJZiB0cnVlLCB0aGUgc2Vjb25kIGNoaWxk
CiAgICAgLy8gaXMgcmV0dXJuZWQuIE90aGVyd2lzZSwgdGhlIHRoaXJkIGNoaWxkIGlzIHJldHVy
bmVkLgogICAgIFNlbGVjdCwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1JlZHVj
ZVN0cmVuZ3RoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNS
ZWR1Y2VTdHJlbmd0aC5jcHAJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1JlZHVjZVN0cmVuZ3RoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxMCw2ICsx
MDEwLDEzIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgIG1fdmFsdWUtPmNoaWxkKDAp
LT5iZWxvd0VxdWFsQ29uc3RhbnQobV92YWx1ZS0+Y2hpbGQoMSkpKSk7CiAgICAgICAgICAgICBi
cmVhazsKIAorICAgICAgICBjYXNlIEVxdWFsT3JVbm9yZGVyZWQ6CisgICAgICAgICAgICByZXBs
YWNlV2l0aE5ld1ZhbHVlKAorICAgICAgICAgICAgICAgIG1fcHJvYy5hZGRCb29sQ29uc3RhbnQo
CisgICAgICAgICAgICAgICAgICAgIG1fdmFsdWUtPm9yaWdpbigpLAorICAgICAgICAgICAgICAg
ICAgICBtX3ZhbHVlLT5jaGlsZCgwKS0+ZXF1YWxPclVub3JkZXJlZENvbnN0YW50KG1fdmFsdWUt
PmNoaWxkKDEpKSkpOworICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgY2FzZSBDaGVja0Fk
ZDoKICAgICAgICAgICAgIGlmIChyZXBsYWNlV2l0aE5ld1ZhbHVlKG1fdmFsdWUtPmNoaWxkKDAp
LT5jaGVja0FkZENvbnN0YW50KG1fcHJvYywgbV92YWx1ZS0+Y2hpbGQoMSkpKSkKICAgICAgICAg
ICAgICAgICBicmVhazsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbGlkYXRl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWxpZGF0ZS5j
cHAJKHJldmlzaW9uIDE5NDE3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbGlk
YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU1LDYgKzI1NSwxMiBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICAgICAgVkFMSURBVEUoaXNJbnQodmFsdWUtPmNoaWxkKDApLT50eXBlKCkpLCAoIkF0
ICIsICp2YWx1ZSkpOwogICAgICAgICAgICAgICAgIFZBTElEQVRFKHZhbHVlLT50eXBlKCkgPT0g
SW50MzIsICgiQXQgIiwgKnZhbHVlKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIEVxdWFsT3JVbm9yZGVyZWQ6CisgICAgICAgICAgICAgICAgVkFMSURBVEUodmFs
dWUtPm51bUNoaWxkcmVuKCkgPT0gMiwgKCJBdCAiLCAqdmFsdWUpKTsKKyAgICAgICAgICAgICAg
ICBWQUxJREFURSh2YWx1ZS0+Y2hpbGQoMCktPnR5cGUoKSA9PSB2YWx1ZS0+Y2hpbGQoMSktPnR5
cGUoKSwgKCJBdCAiLCAqdmFsdWUpKTsKKyAgICAgICAgICAgICAgICBWQUxJREFURShpc0Zsb2F0
KHZhbHVlLT5jaGlsZCgwKS0+dHlwZSgpKSwgKCJBdCAiLCAqdmFsdWUpKTsKKyAgICAgICAgICAg
ICAgICBWQUxJREFURSh2YWx1ZS0+dHlwZSgpID09IEludDMyLCAoIkF0ICIsICp2YWx1ZSkpOwor
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBTZWxlY3Q6CiAgICAgICAg
ICAgICAgICAgVkFMSURBVEUodmFsdWUtPm51bUNoaWxkcmVuKCkgPT0gMywgKCJBdCAiLCAqdmFs
dWUpKTsKICAgICAgICAgICAgICAgICBWQUxJREFURShpc0ludCh2YWx1ZS0+Y2hpbGQoMCktPnR5
cGUoKSksICgiQXQgIiwgKnZhbHVlKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFs
dWUuY3BwCShyZXZpc2lvbiAxOTQxNzUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNW
YWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4Niw2ICsyODYsMTEgQEAgVHJpU3RhdGUgVmFs
dWU6OmJlbG93RXF1YWxDb25zdGFudChjb25zdAogICAgIHJldHVybiBNaXhlZFRyaVN0YXRlOwog
fQogCitUcmlTdGF0ZSBWYWx1ZTo6ZXF1YWxPclVub3JkZXJlZENvbnN0YW50KGNvbnN0IFZhbHVl
KikgY29uc3QKK3sKKyAgICByZXR1cm4gTWl4ZWRUcmlTdGF0ZTsKK30KKwogVmFsdWUqIFZhbHVl
OjppbnZlcnRlZENvbXBhcmUoUHJvY2VkdXJlJiBwcm9jKSBjb25zdAogewogICAgIGlmICghbnVt
Q2hpbGRyZW4oKSkKQEAgLTMxNSw2ICszMjAsNyBAQCBib29sIFZhbHVlOjpyZXR1cm5zQm9vbCgp
IGNvbnN0CiAgICAgY2FzZSBCZWxvdzoKICAgICBjYXNlIEFib3ZlRXF1YWw6CiAgICAgY2FzZSBC
ZWxvd0VxdWFsOgorICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgY2FzZSBQaGk6CiAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSBhIHN0
b3J5IGhlcmUuCkBAIC0zOTAsNiArMzk2LDcgQEAgRWZmZWN0cyBWYWx1ZTo6ZWZmZWN0cygpIGNv
bnN0CiAgICAgY2FzZSBCZWxvdzoKICAgICBjYXNlIEFib3ZlRXF1YWw6CiAgICAgY2FzZSBCZWxv
d0VxdWFsOgorICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoKICAgICBjYXNlIFNlbGVjdDoKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBEaXY6CkBAIC00ODQsNiArNDkxLDcgQEAgVmFsdWVLZXkg
VmFsdWU6OmtleSgpIGNvbnN0CiAgICAgY2FzZSBCZWxvdzoKICAgICBjYXNlIEFib3ZlRXF1YWw6
CiAgICAgY2FzZSBCZWxvd0VxdWFsOgorICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoKICAgICBj
YXNlIENoZWNrQWRkOgogICAgIGNhc2UgQ2hlY2tTdWI6CiAgICAgY2FzZSBDaGVja011bDoKQEAg
LTU3OCw2ICs1ODYsNyBAQCBUeXBlIFZhbHVlOjp0eXBlRm9yKE9wY29kZSBvcGNvZGUsIFZhbHVl
CiAgICAgY2FzZSBCZWxvdzoKICAgICBjYXNlIEFib3ZlRXF1YWw6CiAgICAgY2FzZSBCZWxvd0Vx
dWFsOgorICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoKICAgICAgICAgcmV0dXJuIEludDMyOwog
ICAgIGNhc2UgU0V4dDMyOgogICAgIGNhc2UgWkV4dDMyOgpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNWYWx1ZS5oCShyZXZpc2lvbiAxOTQxNzUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgVHJpU3RhdGUgYmVsb3dDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNv
bnN0OwogICAgIHZpcnR1YWwgVHJpU3RhdGUgYWJvdmVFcXVhbENvbnN0YW50KGNvbnN0IFZhbHVl
KiBvdGhlcikgY29uc3Q7CiAgICAgdmlydHVhbCBUcmlTdGF0ZSBiZWxvd0VxdWFsQ29uc3RhbnQo
Y29uc3QgVmFsdWUqIG90aGVyKSBjb25zdDsKKyAgICB2aXJ0dWFsIFRyaVN0YXRlIGVxdWFsT3JV
bm9yZGVyZWRDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0OwogCiAgICAgLy8gSWYg
dGhlIHZhbHVlIGlzIGEgY29tcGFyaXNvbiB0aGVuIHRoaXMgcmV0dXJucyB0aGUgaW52ZXJ0ZWQg
Zm9ybSBvZiB0aGF0IGNvbXBhcmlzb24sIGlmCiAgICAgLy8gcG9zc2libGUuIEl0IGNhbiBiZSBp
bXBvc3NpYmxlIGZvciBkb3VibGUgY29tcGFyaXNvbnMsIHdoZXJlIGZvciBleGFtcGxlIExlc3NU
aGFuIGFuZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHJldmlzaW9uIDE5
NDE3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03MTM3LDYgKzcxMzcsMTEgQEAgdm9pZCB0ZXN0Q29tcGFyZShCMzo6T3Bjb2RlIG9w
Y29kZSwgaW50IAogICAgIHZhcmlhbnRzKC1sZWZ0LCAtcmlnaHQpOwogfQogCit2b2lkIHRlc3RF
cXVhbE9yVW5vcmRlcmVkKGRvdWJsZSBsZWZ0LCBkb3VibGUgcmlnaHQsIGJvb2wgcmVzdWx0KQor
eworICAgIAorfQorCiBpbnQgc2ltcGxlRnVuY3Rpb24oaW50IGEsIGludCBiKQogewogICAgIHJl
dHVybiBhICsgYjsKQEAgLTkxNjcsNiArOTE3MiwxMiBAQCB2b2lkIHJ1bihjb25zdCBjaGFyKiBm
aWx0ZXIpCiAgICAgUlVOKHRlc3RDb21wYXJlKEJpdEFuZCwgNDIsIDQyKSk7CiAgICAgUlVOKHRl
c3RDb21wYXJlKEJpdEFuZCwgNDIsIDApKTsKIAorICAgIFJVTih0ZXN0RXF1YWxPclVub3JkZXJl
ZCg0MiwgNDIsIHRydWUpKTsKKyAgICBSVU4odGVzdEVxdWFsT3JVbm9yZGVyZWQoNDIsIDQzLCBm
YWxzZSkpOworICAgIFJVTih0ZXN0RXF1YWxPclVub3JkZXJlZChQTmFOLCA0MiwgdHJ1ZSkpOwor
ICAgIFJVTih0ZXN0RXF1YWxPclVub3JkZXJlZCg0MiwgUE5hTiwgdHJ1ZSkpOworICAgIFJVTih0
ZXN0RXF1YWxPclVub3JkZXJlZChQTmFOLCBQTmFOLCB0cnVlKSk7CisKICAgICBSVU4odGVzdExv
YWQ8SW50MzI+KDYwKSk7CiAgICAgUlVOKHRlc3RMb2FkPEludDMyPigtNjApKTsKICAgICBSVU4o
dGVzdExvYWQ8SW50MzI+KDEwMDApKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9h
aXIvQWlyT3Bjb2RlLm9wY29kZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL2Fpci9BaXJPcGNvZGUub3Bjb2RlcwkocmV2aXNpb24gMTk0MTc1KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJPcGNvZGUub3Bjb2Rlcwkod29ya2luZyBjb3B5KQpAQCAt
NDMxLDYgKzQzMSwxMiBAQCBUZXN0MzIgVTpHLCBVOkcsIFU6RywgRDpHCiAgICAgUmVzQ29uZCwg
VG1wLCBJbW0sIFRtcAogICAgIFJlc0NvbmQsIFRtcCwgVG1wLCBUbXAKIAorQ29tcGFyZURvdWJs
ZSBVOkcsIFU6RiwgVTpGLCBEOkcKKyAgICBEb3VibGVDb25kLCBUbXAsIFRtcCwgVG1wCisKK0Nv
bXBhcmVGbG9hdCBVOkcsIFU6RiwgVTpGLCBEOkcKKyAgICBEb3VibGVDb25kLCBUbXAsIFRtcCwg
VG1wCisKICMgTm90ZSB0aGF0IGJyYW5jaGVzIGhhdmUgc29tZSBsb2dpYyBpbiBBaXJPcHRpbWl6
ZUJsb2NrT3JkZXIuY3BwLiBJZiB5b3UgYWRkIG5ldyBicmFuY2hlcywgcGxlYXNlIG1ha2Ugc3Vy
ZQogIyB5b3Ugb3B0IHRoZW0gaW50byB0aGUgYmxvY2sgb3JkZXIgb3B0aW1pemF0aW9ucy4KIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQjNPdXRwdXQuaAkocmV2aXNpb24gMTk0
MTc1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNTQsNiArMTU0LDggQEAgcHVibGljOgogICAgIExWYWx1ZSBsU2hyKExWYWx1
ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFs
dWU+KG1fcHJvYywgQjM6OlpTaHIsIG9yaWdpbigpLCBsZWZ0LCBjYXN0VG9JbnQzMihyaWdodCkp
OyB9CiAgICAgTFZhbHVlIGJpdE5vdChMVmFsdWUpOwogCisgICAgTFZhbHVlIGxvZ2ljYWxOb3Qo
TFZhbHVlIHZhbHVlKSB7IHJldHVybiBpc1plcm8zMih2YWx1ZSk7IH0KKwogICAgIExWYWx1ZSBj
dGx6MzIoTFZhbHVlIG9wZXJhbmQpIHsgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFs
dWU+KG1fcHJvYywgQjM6OkNseiwgb3JpZ2luKCksIG9wZXJhbmQpOyB9CiAgICAgTFZhbHVlIGFk
ZFdpdGhPdmVyZmxvdzMyKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgQ1JBU0goKTsgfQog
ICAgIExWYWx1ZSBzdWJXaXRoT3ZlcmZsb3czMihMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IENSQVNIKCk7IH0KQEAgLTMzMSw0MCArMzMzLDE3IEBAIHB1YmxpYzoKICAgICBMVmFsdWUgbGVz
c1RoYW5PckVxdWFsKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIG1fYmxvY2st
PmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6Okxlc3NFcXVhbCwgb3JpZ2luKCksIGxl
ZnQsIHJpZ2h0KTsgfQogCiAgICAgTFZhbHVlIGRvdWJsZUVxdWFsKExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywg
QjM6OkVxdWFsLCBvcmlnaW4oKSwgbGVmdCwgcmlnaHQpOyB9Ci0gICAgTFZhbHVlIGRvdWJsZU5v
dEVxdWFsT3JVbm9yZGVyZWQoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbV9i
bG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6Tm90RXF1YWwsIG9yaWdpbigp
LCBsZWZ0LCByaWdodCk7IH0KKyAgICBMVmFsdWUgZG91YmxlRXF1YWxPclVub3JkZXJlZChMVmFs
dWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OlZh
bHVlPihtX3Byb2MsIEIzOjpFcXVhbE9yVW5vcmRlcmVkLCBvcmlnaW4oKSwgbGVmdCwgcmlnaHQp
OyB9CiAgICAgTFZhbHVlIGRvdWJsZUxlc3NUaGFuKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQp
IHsgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6Okxlc3NU
aGFuLCBvcmlnaW4oKSwgbGVmdCwgcmlnaHQpOyB9CiAgICAgTFZhbHVlIGRvdWJsZUxlc3NUaGFu
T3JFcXVhbChMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBtX2Jsb2NrLT5hcHBl
bmROZXc8QjM6OlZhbHVlPihtX3Byb2MsIEIzOjpMZXNzRXF1YWwsIG9yaWdpbigpLCBsZWZ0LCBy
aWdodCk7IH0KICAgICBMVmFsdWUgZG91YmxlR3JlYXRlclRoYW4oTFZhbHVlIGxlZnQsIExWYWx1
ZSByaWdodCkgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9wcm9jLCBC
Mzo6R3JlYXRlclRoYW4sIG9yaWdpbigpLCBsZWZ0LCByaWdodCk7IH0KICAgICBMVmFsdWUgZG91
YmxlR3JlYXRlclRoYW5PckVxdWFsKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6OkdyZWF0ZXJFcXVhbCwg
b3JpZ2luKCksIGxlZnQsIHJpZ2h0KTsgfQotICAgIExWYWx1ZSBkb3VibGVOb3RFcXVhbChMVmFs
dWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IENSQVNIKCk7IH0KLSAgICBMVmFsdWUgZG91YmxlTGVz
c1RoYW5PclVub3JkZXJlZChMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KAotICAgICAgICAgICAgbV9w
cm9jLCBCMzo6RXF1YWwsIG9yaWdpbigpLAotICAgICAgICAgICAgbV9ibG9jay0+YXBwZW5kTmV3
PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6R3JlYXRlckVxdWFsLCBvcmlnaW4oKSwgbGVmdCwgcmln
aHQpLAotICAgICAgICAgICAgaW50MzJaZXJvKTsKLSAgICB9Ci0gICAgTFZhbHVlIGRvdWJsZUxl
c3NUaGFuT3JFcXVhbE9yVW5vcmRlcmVkKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpCi0gICAg
ewotICAgICAgICByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4oCi0gICAgICAg
ICAgICBtX3Byb2MsIEIzOjpFcXVhbCwgb3JpZ2luKCksCi0gICAgICAgICAgICBtX2Jsb2NrLT5h
cHBlbmROZXc8QjM6OlZhbHVlPihtX3Byb2MsIEIzOjpHcmVhdGVyVGhhbiwgb3JpZ2luKCksIGxl
ZnQsIHJpZ2h0KSwKLSAgICAgICAgICAgIGludDMyWmVybyk7Ci0gICAgfQotICAgIExWYWx1ZSBk
b3VibGVHcmVhdGVyVGhhbk9yVW5vcmRlcmVkKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpCi0g
ICAgewotICAgICAgICByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4oCi0gICAg
ICAgICAgICBtX3Byb2MsIEIzOjpFcXVhbCwgb3JpZ2luKCksCi0gICAgICAgICAgICBtX2Jsb2Nr
LT5hcHBlbmROZXc8QjM6OlZhbHVlPihtX3Byb2MsIEIzOjpMZXNzRXF1YWwsIG9yaWdpbigpLCBs
ZWZ0LCByaWdodCksCi0gICAgICAgICAgICBpbnQzMlplcm8pOwotICAgIH0KLSAgICBMVmFsdWUg
ZG91YmxlR3JlYXRlclRoYW5PckVxdWFsT3JVbm9yZGVyZWQoTFZhbHVlIGxlZnQsIExWYWx1ZSBy
aWdodCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OlZhbHVl
PigKLSAgICAgICAgICAgIG1fcHJvYywgQjM6OkVxdWFsLCBvcmlnaW4oKSwKLSAgICAgICAgICAg
IG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6Okxlc3NUaGFuLCBvcmln
aW4oKSwgbGVmdCwgcmlnaHQpLAotICAgICAgICAgICAgaW50MzJaZXJvKTsKLSAgICB9CisgICAg
TFZhbHVlIGRvdWJsZU5vdEVxdWFsKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IGxvZ2ljYWxOb3QoZG91YmxlRXF1YWxPclVub3JkZXJlZChsZWZ0LCByaWdodCkpOyB9CisgICAg
TFZhbHVlIGRvdWJsZU5vdEVxdWFsT3JVbm9yZGVyZWQoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdo
dCkgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6Tm90
RXF1YWwsIG9yaWdpbigpLCBsZWZ0LCByaWdodCk7IH0KKyAgICBMVmFsdWUgZG91YmxlTGVzc1Ro
YW5PclVub3JkZXJlZChMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsb2dpY2Fs
Tm90KGRvdWJsZUdyZWF0ZXJUaGFuT3JFcXVhbChsZWZ0LCByaWdodCkpOyB9CisgICAgTFZhbHVl
IGRvdWJsZUxlc3NUaGFuT3JFcXVhbE9yVW5vcmRlcmVkKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmln
aHQpIHsgcmV0dXJuIGxvZ2ljYWxOb3QoZG91YmxlR3JlYXRlclRoYW4obGVmdCwgcmlnaHQpKTsg
fQorICAgIExWYWx1ZSBkb3VibGVHcmVhdGVyVGhhbk9yVW5vcmRlcmVkKExWYWx1ZSBsZWZ0LCBM
VmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxvZ2ljYWxOb3QoZG91YmxlTGVzc1RoYW5PckVxdWFsKGxl
ZnQsIHJpZ2h0KSk7IH0KKyAgICBMVmFsdWUgZG91YmxlR3JlYXRlclRoYW5PckVxdWFsT3JVbm9y
ZGVyZWQoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbG9naWNhbE5vdChkb3Vi
bGVMZXNzVGhhbihsZWZ0LCByaWdodCkpOyB9CiAKICAgICBMVmFsdWUgaXNaZXJvMzIoTFZhbHVl
IHZhbHVlKSB7IHJldHVybiBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OlZhbHVlPihtX3Byb2MsIEIz
OjpFcXVhbCwgb3JpZ2luKCksIHZhbHVlLCBpbnQzMlplcm8pOyB9CiAgICAgTFZhbHVlIG5vdFpl
cm8zMihMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+
KG1fcHJvYywgQjM6Ok5vdEVxdWFsLCBvcmlnaW4oKSwgdmFsdWUsIGludDMyWmVybyk7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>