<?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>120138</bug_id>
          
          <creation_ts>2013-08-21 15:15:24 -0700</creation_ts>
          <short_desc>Rename/refactor setButterfly/setStructure</short_desc>
          <delta_ts>2013-09-12 10:58:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>121074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>919647</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-08-21 15:15:24 -0700</bug_when>
    <thetext>setButterfly -&gt; setStructureAndButterfly (which is actually what it does)
setStructure(VM&amp;, Structure*, Butterfly*) -&gt; setStructure(VM&amp;, Structure*) and doesn&apos;t implicitly assign to the Butterfly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919649</commentid>
    <comment_count>1</comment_count>
      <attachid>209306</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-08-21 15:17:31 -0700</bug_when>
    <thetext>Created attachment 209306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919663</commentid>
    <comment_count>2</comment_count>
      <attachid>209306</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-08-21 16:06:35 -0700</bug_when>
    <thetext>Comment on attachment 209306
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=209306&amp;action=review

r=me

&gt; Source/JavaScriptCore/ChangeLog:11
&gt; +        used m_structure internally since that&apos;s what every single client of setStructure

I think you mean &quot;used m_butterfly&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919670</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-08-21 16:22:06 -0700</bug_when>
    <thetext>Committed r154426: &lt;http://trac.webkit.org/changeset/154426&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209306</attachid>
            <date>2013-08-21 15:17:31 -0700</date>
            <delta_ts>2013-08-21 16:06:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120138-20130821151730.patch</filename>
            <type>text/plain</type>
            <size>18265</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU0NDIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUyIEBA
CisyMDEzLTA4LTIxICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgUmVuYW1lL3JlZmFjdG9yIHNldEJ1dHRlcmZseS9zZXRTdHJ1Y3R1cmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDEzOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHNldEJ1dHRlcmZseSBi
ZWNvbWVzIHNldFN0cnVjdHVyZUFuZEJ1dHRlcmZseS4KKworICAgICAgICBBbHNvIHJlbW92ZWQg
dGhlIEJ1dHRlcmZseSogYXJndW1lbnQgZnJvbSBzZXRTdHJ1Y3R1cmUgYW5kIGp1c3QgaW1wbGlj
aXRseQorICAgICAgICB1c2VkIG1fc3RydWN0dXJlIGludGVybmFsbHkgc2luY2UgdGhhdCdzIHdo
YXQgZXZlcnkgc2luZ2xlIGNsaWVudCBvZiBzZXRTdHJ1Y3R1cmUKKyAgICAgICAgd2FzIGRvaW5n
IGFscmVhZHkuCisKKyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3BwOgorICAgICAgICAoSlNDOjpE
RUZJTkVfU1RVQl9GVU5DVElPTik6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0Ojpub3RpZnlQcmVzZW5jZU9mSW5kZXhlZEFjY2Vzc29ycyk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbml0aWFsVW5kZWNpZGVkKToKKyAgICAg
ICAgKEpTQzo6SlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbnQzMik6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjpjcmVhdGVJbml0aWFsRG91YmxlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNy
ZWF0ZUluaXRpYWxDb250aWd1b3VzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNyZWF0ZUFy
cmF5U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9J
bnQzMik6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9Eb3VibGUp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRvQ29udGlndW91cyk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Up
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Y29udmVydEludDMyVG9Eb3VibGUpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6Y29udmVydEludDMyVG9Db250aWd1b3VzKToKKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OmdlbmVyaWNDb252ZXJ0RG91YmxlVG9Db250aWd1b3VzKToKKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSk6CisgICAgICAgIChKU0M6
OkpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6OnN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFnZSk6CisgICAgICAgIChKU0M6
OkpTT2JqZWN0OjpzZXRQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0RGly
ZWN0QWNjZXNzb3IpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6c2VhbCk6CisgICAgICAgIChK
U0M6OkpTT2JqZWN0OjpmcmVlemUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHJldmVudEV4
dGVuc2lvbnMpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cmVpZnlTdGF0aWNGdW5jdGlvbnNG
b3JEZWxldGUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cmVtb3ZlRGlyZWN0KToKKyAgICAg
ICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpzZXRTdHJ1
Y3R1cmVBbmRCdXR0ZXJmbHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6c2V0U3RydWN0dXJl
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dERpcmVjdEludGVybmFsKToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OnNldFN0cnVjdHVyZUFuZFJlYWxsb2NhdGVTdG9yYWdlSWZOZWNlc3Nh
cnkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0
dXJlOjpmbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSk6CisKIDIwMTMtMDgtMjEgIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBDcmFzaCB1bmRl
ciBKSVRDb21waWxlcjo6bGluayB3aGlsZSBsb2FkaW5nIEdtYWlsCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAkocmV2aXNpb24gMTU0NDE1KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwNyw3ICs2
MDcsNyBAQCBERUZJTkVfU1RVQl9GVU5DVElPTihKU09iamVjdCosIG9wX3B1dF9iCiAgICAgSlNP
YmplY3QqIGJhc2UgPSBhc09iamVjdChiYXNlVmFsdWUpOwogICAgIFZNJiB2bSA9ICpzdGFja0Zy
YW1lLnZtOwogICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5ID0gYmFzZS0+Z3Jvd091dE9mTGluZVN0
b3JhZ2Uodm0sIG9sZFNpemUsIG5ld1NpemUpOwotICAgIGJhc2UtPnNldEJ1dHRlcmZseSh2bSwg
YnV0dGVyZmx5LCBuZXdTdHJ1Y3R1cmUpOworICAgIGJhc2UtPnNldFN0cnVjdHVyZUFuZEJ1dHRl
cmZseSh2bSwgbmV3U3RydWN0dXJlLCBidXR0ZXJmbHkpOwogCiAgICAgcmV0dXJuIGJhc2U7CiB9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZp
c2lvbiAxNTQ0MTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU4Myw3ICs1ODMsNyBAQCB2b2lkIEpTT2JqZWN0Ojpub3Rp
ZnlQcmVzZW5jZU9mSW5kZXhlZEFjCiAgICAgaWYgKG1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1
cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKCksIEFkZEluZGV4ZWRBY2Nl
c3NvcnMpLCBtX2J1dHRlcmZseSk7CisgICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6Om5v
blByb3BlcnR5VHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKCksIEFkZEluZGV4ZWRBY2Nlc3NvcnMp
KTsKICAgICAKICAgICBpZiAoIXZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlwZSh0aGlzKSkKICAg
ICAgICAgcmV0dXJuOwpAQCAtNjExLDcgKzYxMSw3IEBAIEJ1dHRlcmZseSogSlNPYmplY3Q6OmNy
ZWF0ZUluaXRpYWxVbmRlY2kKIHsKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGNyZWF0
ZUluaXRpYWxJbmRleGVkU3RvcmFnZSh2bSwgbGVuZ3RoLCBzaXplb2YoRW5jb2RlZEpTVmFsdWUp
KTsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlU
cmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSwgQWxsb2NhdGVVbmRlY2lkZWQpOwotICAgIHNldEJ1
dHRlcmZseSh2bSwgbmV3QnV0dGVyZmx5LCBuZXdTdHJ1Y3R1cmUpOworICAgIHNldFN0cnVjdHVy
ZUFuZEJ1dHRlcmZseSh2bSwgbmV3U3RydWN0dXJlLCBuZXdCdXR0ZXJmbHkpOwogICAgIHJldHVy
biBuZXdCdXR0ZXJmbHk7CiB9CiAKQEAgLTYxOSw3ICs2MTksNyBAQCBDb250aWd1b3VzSlNWYWx1
ZXMgSlNPYmplY3Q6OmNyZWF0ZUluaXRpCiB7CiAgICAgQnV0dGVyZmx5KiBuZXdCdXR0ZXJmbHkg
PSBjcmVhdGVJbml0aWFsSW5kZXhlZFN0b3JhZ2Uodm0sIGxlbmd0aCwgc2l6ZW9mKEVuY29kZWRK
U1ZhbHVlKSk7CiAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblBy
b3BlcnR5VHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKCksIEFsbG9jYXRlSW50MzIpOwotICAgIHNl
dEJ1dHRlcmZseSh2bSwgbmV3QnV0dGVyZmx5LCBuZXdTdHJ1Y3R1cmUpOworICAgIHNldFN0cnVj
dHVyZUFuZEJ1dHRlcmZseSh2bSwgbmV3U3RydWN0dXJlLCBuZXdCdXR0ZXJmbHkpOwogICAgIHJl
dHVybiBuZXdCdXR0ZXJmbHktPmNvbnRpZ3VvdXNJbnQzMigpOwogfQogCkBAIC02MjksNyArNjI5
LDcgQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNyZWF0ZUluaXRpYQogICAgIGZvciAo
dW5zaWduZWQgaSA9IG5ld0J1dHRlcmZseS0+dmVjdG9yTGVuZ3RoKCk7IGktLTspCiAgICAgICAg
IG5ld0J1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpW2ldID0gUU5hTjsKICAgICBTdHJ1Y3R1
cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBz
dHJ1Y3R1cmUoKSwgQWxsb2NhdGVEb3VibGUpOwotICAgIHNldEJ1dHRlcmZseSh2bSwgbmV3QnV0
dGVyZmx5LCBuZXdTdHJ1Y3R1cmUpOworICAgIHNldFN0cnVjdHVyZUFuZEJ1dHRlcmZseSh2bSwg
bmV3U3RydWN0dXJlLCBuZXdCdXR0ZXJmbHkpOwogICAgIHJldHVybiBuZXdCdXR0ZXJmbHktPmNv
bnRpZ3VvdXNEb3VibGUoKTsKIH0KIApAQCAtNjM3LDcgKzYzNyw3IEBAIENvbnRpZ3VvdXNKU1Zh
bHVlcyBKU09iamVjdDo6Y3JlYXRlSW5pdGkKIHsKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZs
eSA9IGNyZWF0ZUluaXRpYWxJbmRleGVkU3RvcmFnZSh2bSwgbGVuZ3RoLCBzaXplb2YoRW5jb2Rl
ZEpTVmFsdWUpKTsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9u
UHJvcGVydHlUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSwgQWxsb2NhdGVDb250aWd1b3VzKTsK
LSAgICBzZXRCdXR0ZXJmbHkodm0sIG5ld0J1dHRlcmZseSwgbmV3U3RydWN0dXJlKTsKKyAgICBz
ZXRTdHJ1Y3R1cmVBbmRCdXR0ZXJmbHkodm0sIG5ld1N0cnVjdHVyZSwgbmV3QnV0dGVyZmx5KTsK
ICAgICByZXR1cm4gbmV3QnV0dGVyZmx5LT5jb250aWd1b3VzKCk7CiB9CiAKQEAgLTY1Nyw3ICs2
NTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAgICAgcmVz
dWx0LT5tX251bVZhbHVlc0luVmVjdG9yID0gMDsKICAgICByZXN1bHQtPm1faW5kZXhCaWFzID0g
MDsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlU
cmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSwgc3RydWN0dXJlKCktPnN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24oKSk7Ci0gICAgc2V0QnV0dGVyZmx5KHZtLCBuZXdCdXR0ZXJmbHksIG5l
d1N0cnVjdHVyZSk7CisgICAgc2V0U3RydWN0dXJlQW5kQnV0dGVyZmx5KHZtLCBuZXdTdHJ1Y3R1
cmUsIG5ld0J1dHRlcmZseSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtNjY5LDcgKzY2
OSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxBcnIKIENvbnRpZ3Vv
dXNKU1ZhbHVlcyBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRvSW50MzIoVk0mIHZtKQogewog
ICAgIEFTU0VSVChoYXNVbmRlY2lkZWQoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7Ci0g
ICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwg
c3RydWN0dXJlKCksIEFsbG9jYXRlSW50MzIpLCBtX2J1dHRlcmZseSk7CisgICAgc2V0U3RydWN0
dXJlKHZtLCBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKCks
IEFsbG9jYXRlSW50MzIpKTsKICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmNvbnRpZ3VvdXNJbnQz
MigpOwogfQogCkBAIC02ODAsMTQgKzY4MCwxNCBAQCBDb250aWd1b3VzRG91YmxlcyBKU09iamVj
dDo6Y29udmVydFVuZGVjCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbV9idXR0ZXJmbHktPnZlY3Rv
ckxlbmd0aCgpOyBpLS07KQogICAgICAgICBtX2J1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgp
W2ldID0gUU5hTjsKICAgICAKLSAgICBzZXRTdHJ1Y3R1cmUodm0sIFN0cnVjdHVyZTo6bm9uUHJv
cGVydHlUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSwgQWxsb2NhdGVEb3VibGUpLCBtX2J1dHRl
cmZseSk7CisgICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNp
dGlvbih2bSwgc3RydWN0dXJlKCksIEFsbG9jYXRlRG91YmxlKSk7CiAgICAgcmV0dXJuIG1fYnV0
dGVyZmx5LT5jb250aWd1b3VzRG91YmxlKCk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09i
amVjdDo6Y29udmVydFVuZGVjaWRlZFRvQ29udGlndW91cyhWTSYgdm0pCiB7CiAgICAgQVNTRVJU
KGhhc1VuZGVjaWRlZChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKLSAgICBzZXRTdHJ1
Y3R1cmUodm0sIFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUo
KSwgQWxsb2NhdGVDb250aWd1b3VzKSwgbV9idXR0ZXJmbHkpOworICAgIHNldFN0cnVjdHVyZSh2
bSwgU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSgpLCBBbGxv
Y2F0ZUNvbnRpZ3VvdXMpKTsKICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmNvbnRpZ3VvdXMoKTsK
IH0KIApAQCAtNzIzLDcgKzcyMyw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRV
bmRlY2lkZWQKICAgICAvLyBObyBuZWVkIHRvIGNvcHkgZWxlbWVudHMuCiAgICAgCiAgICAgU3Ry
dWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2
bSwgc3RydWN0dXJlKCksIHRyYW5zaXRpb24pOwotICAgIHNldEJ1dHRlcmZseSh2bSwgc3RvcmFn
ZS0+YnV0dGVyZmx5KCksIG5ld1N0cnVjdHVyZSk7CisgICAgc2V0U3RydWN0dXJlQW5kQnV0dGVy
Zmx5KHZtLCBuZXdTdHJ1Y3R1cmUsIHN0b3JhZ2UtPmJ1dHRlcmZseSgpKTsKICAgICByZXR1cm4g
c3RvcmFnZTsKIH0KIApAQCAtNzUzLDcgKzc1Myw3IEBAIENvbnRpZ3VvdXNEb3VibGVzIEpTT2Jq
ZWN0Ojpjb252ZXJ0SW50MzIKICAgICAgICAgKmN1cnJlbnRBc0RvdWJsZSA9IHYuYXNJbnQzMigp
OwogICAgIH0KICAgICAKLSAgICBzZXRTdHJ1Y3R1cmUodm0sIFN0cnVjdHVyZTo6bm9uUHJvcGVy
dHlUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSwgQWxsb2NhdGVEb3VibGUpLCBtX2J1dHRlcmZs
eSk7CisgICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlv
bih2bSwgc3RydWN0dXJlKCksIEFsbG9jYXRlRG91YmxlKSk7CiAgICAgcmV0dXJuIG1fYnV0dGVy
Zmx5LT5jb250aWd1b3VzRG91YmxlKCk7CiB9CiAKQEAgLTc2MSw3ICs3NjEsNyBAQCBDb250aWd1
b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQzCiB7CiAgICAgQVNTRVJUKGhhc0ludDMy
KHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIAotICAgIHNldFN0cnVjdHVyZSh2
bSwgU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSgpLCBBbGxv
Y2F0ZUNvbnRpZ3VvdXMpLCBtX2J1dHRlcmZseSk7CisgICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1
Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKCksIEFsbG9jYXRlQ29u
dGlndW91cykpOwogICAgIHJldHVybiBtX2J1dHRlcmZseS0+Y29udGlndW91cygpOwogfQogCkBA
IC03NzksNyArNzc5LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9B
cgogICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6
bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSwgdHJhbnNpdGlvbik7Ci0gICAg
c2V0QnV0dGVyZmx5KHZtLCBuZXdTdG9yYWdlLT5idXR0ZXJmbHkoKSwgbmV3U3RydWN0dXJlKTsK
KyAgICBzZXRTdHJ1Y3R1cmVBbmRCdXR0ZXJmbHkodm0sIG5ld1N0cnVjdHVyZSwgbmV3U3RvcmFn
ZS0+YnV0dGVyZmx5KCkpOwogICAgIHJldHVybiBuZXdTdG9yYWdlOwogfQogCkBAIC04MTksNyAr
ODE5LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjpnZW5lcmljQ29udgogICAgICAg
ICBjdXJyZW50QXNWYWx1ZS0+c2V0V2l0aG91dFdyaXRlQmFycmllcih2KTsKICAgICB9CiAgICAg
Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2
bSwgc3RydWN0dXJlKCksIEFsbG9jYXRlQ29udGlndW91cyksIG1fYnV0dGVyZmx5KTsKKyAgICBz
ZXRTdHJ1Y3R1cmUodm0sIFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBzdHJ1
Y3R1cmUoKSwgQWxsb2NhdGVDb250aWd1b3VzKSk7CiAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5j
b250aWd1b3VzKCk7CiB9CiAKQEAgLTg0Nyw3ICs4NDcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAgICAgfQogICAgIAogICAgIFN0cnVjdHVyZSogbmV3U3Ry
dWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSgp
LCB0cmFuc2l0aW9uKTsKLSAgICBzZXRCdXR0ZXJmbHkodm0sIG5ld1N0b3JhZ2UtPmJ1dHRlcmZs
eSgpLCBuZXdTdHJ1Y3R1cmUpOworICAgIHNldFN0cnVjdHVyZUFuZEJ1dHRlcmZseSh2bSwgbmV3
U3RydWN0dXJlLCBuZXdTdG9yYWdlLT5idXR0ZXJmbHkoKSk7CiAgICAgcmV0dXJuIG5ld1N0b3Jh
Z2U7CiB9CiAKQEAgLTg3NSw3ICs4NzUsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252
ZXJ0Q29udGlndW91CiAgICAgfQogICAgIAogICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0g
U3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSgpLCB0cmFuc2l0
aW9uKTsKLSAgICBzZXRCdXR0ZXJmbHkodm0sIG5ld1N0b3JhZ2UtPmJ1dHRlcmZseSgpLCBuZXdT
dHJ1Y3R1cmUpOworICAgIHNldFN0cnVjdHVyZUFuZEJ1dHRlcmZseSh2bSwgbmV3U3RydWN0dXJl
LCBuZXdTdG9yYWdlLT5idXR0ZXJmbHkoKSk7CiAgICAgcmV0dXJuIG5ld1N0b3JhZ2U7CiB9CiAK
QEAgLTExMTcsNyArMTExNyw3IEBAIHZvaWQgSlNPYmplY3Q6OnN3aXRjaFRvU2xvd1B1dEFycmF5
U3RvcmEKICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKICAgICBjYXNlIEFycmF5
V2l0aEFycmF5U3RvcmFnZTogewogICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0
cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSwgU3dpdGNoVG9T
bG93UHV0QXJyYXlTdG9yYWdlKTsKLSAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1
cmUsIG1fYnV0dGVyZmx5KTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUp
OwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgIApAQCAtMTE0MSw3ICsxMTQxLDcgQEAg
dm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlKFZNJiB2bSwgSlNWYQogICAgICAgICB2bS5wcm90
b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAgIAogICAgIFN0
cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0
aW9uKHZtLCBzdHJ1Y3R1cmUoKSwgcHJvdG90eXBlKTsKLSAgICBzZXRTdHJ1Y3R1cmUodm0sIG5l
d1N0cnVjdHVyZSwgbV9idXR0ZXJmbHkpOworICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0
dXJlKTsKICAgICAKICAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm47CkBAIC0xMTk4LDcgKzEx
OTgsNyBAQCB2b2lkIEpTT2JqZWN0OjpwdXREaXJlY3RBY2Nlc3NvcihFeGVjU3RhCiAgICAgLy8g
Z2V0dGVycyBhbmQgc2V0dGVycywgdGhvdWdoLCB3ZSBhbHNvIG5lZWQgdG8gY2hhbmdlIG91ciBT
dHJ1Y3R1cmUKICAgICAvLyBpZiB3ZSBvdmVycmlkZSBhbiBleGlzdGluZyBub24tZ2V0dGVyIG9y
IG5vbi1zZXR0ZXIuCiAgICAgaWYgKHNsb3QudHlwZSgpICE9IFB1dFByb3BlcnR5U2xvdDo6TmV3
UHJvcGVydHkpCi0gICAgICAgIHNldFN0cnVjdHVyZSh2bSwgU3RydWN0dXJlOjphdHRyaWJ1dGVD
aGFuZ2VUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVz
KSwgbV9idXR0ZXJmbHkpOworICAgICAgICBzZXRTdHJ1Y3R1cmUodm0sIFN0cnVjdHVyZTo6YXR0
cmlidXRlQ2hhbmdlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKCksIHByb3BlcnR5TmFtZSwgYXR0
cmlidXRlcykpOwogCiAgICAgaWYgKGF0dHJpYnV0ZXMgJiBSZWFkT25seSkKICAgICAgICAgc3Ry
dWN0dXJlKCktPnNldENvbnRhaW5zUmVhZE9ubHlQcm9wZXJ0aWVzKCk7CkBAIC0xNTQ3LDcgKzE1
NDcsNyBAQCB2b2lkIEpTT2JqZWN0OjpzZWFsKFZNJiB2bSkKICAgICBpZiAoaXNTZWFsZWQodm0p
KQogICAgICAgICByZXR1cm47CiAgICAgcHJldmVudEV4dGVuc2lvbnModm0pOwotICAgIHNldFN0
cnVjdHVyZSh2bSwgU3RydWN0dXJlOjpzZWFsVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKCkpLCBt
X2J1dHRlcmZseSk7CisgICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6OnNlYWxUcmFuc2l0
aW9uKHZtLCBzdHJ1Y3R1cmUoKSkpOwogfQogCiB2b2lkIEpTT2JqZWN0OjpmcmVlemUoVk0mIHZt
KQpAQCAtMTU1NSwxNCArMTU1NSwxNCBAQCB2b2lkIEpTT2JqZWN0OjpmcmVlemUoVk0mIHZtKQog
ICAgIGlmIChpc0Zyb3plbih2bSkpCiAgICAgICAgIHJldHVybjsKICAgICBwcmV2ZW50RXh0ZW5z
aW9ucyh2bSk7Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6OmZyZWV6ZVRyYW5zaXRp
b24odm0sIHN0cnVjdHVyZSgpKSwgbV9idXR0ZXJmbHkpOworICAgIHNldFN0cnVjdHVyZSh2bSwg
U3RydWN0dXJlOjpmcmVlemVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSkpOwogfQogCiB2b2lk
IEpTT2JqZWN0OjpwcmV2ZW50RXh0ZW5zaW9ucyhWTSYgdm0pCiB7CiAgICAgZW50ZXJEaWN0aW9u
YXJ5SW5kZXhpbmdNb2RlKHZtKTsKICAgICBpZiAoaXNFeHRlbnNpYmxlKCkpCi0gICAgICAgIHNl
dFN0cnVjdHVyZSh2bSwgU3RydWN0dXJlOjpwcmV2ZW50RXh0ZW5zaW9uc1RyYW5zaXRpb24odm0s
IHN0cnVjdHVyZSgpKSwgbV9idXR0ZXJmbHkpOworICAgICAgICBzZXRTdHJ1Y3R1cmUodm0sIFN0
cnVjdHVyZTo6cHJldmVudEV4dGVuc2lvbnNUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSkpOwog
fQogCiAvLyBUaGlzIHByZXNlbnRseSB3aWxsIGZsYXR0ZW4gdG8gYW4gdW5jYWNoYWJsZSBkaWN0
aW9uYXJ5OyB0aGlzIGlzIHN1aXRhYmxlCkBAIC0xNTgwLDcgKzE1ODAsNyBAQCB2b2lkIEpTT2Jq
ZWN0OjpyZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlCiAgICAgfQogCiAgICAgaWYgKCFzdHJ1Y3R1
cmUoKS0+aXNVbmNhY2hlYWJsZURpY3Rpb25hcnkoKSkKLSAgICAgICAgc2V0U3RydWN0dXJlKHZt
LCBTdHJ1Y3R1cmU6OnRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbih2bSwgc3RydWN0
dXJlKCkpLCBtX2J1dHRlcmZseSk7CisgICAgICAgIHNldFN0cnVjdHVyZSh2bSwgU3RydWN0dXJl
Ojp0b1VuY2FjaGVhYmxlRGljdGlvbmFyeVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSgpKSk7CiAK
ICAgICBmb3IgKGNvbnN0IENsYXNzSW5mbyogaW5mbyA9IGNsYXNzSW5mbygpOyBpbmZvOyBpbmZv
ID0gaW5mby0+cGFyZW50Q2xhc3MpIHsKICAgICAgICAgY29uc3QgSGFzaFRhYmxlKiBoYXNoVGFi
bGUgPSBpbmZvLT5wcm9wSGFzaFRhYmxlKGdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCkpOwpA
QCAtMTYxMCw3ICsxNjEwLDcgQEAgYm9vbCBKU09iamVjdDo6cmVtb3ZlRGlyZWN0KFZNJiB2bSwg
UHJvcAogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBzZXRTdHJ1Y3R1cmUodm0s
IFN0cnVjdHVyZTo6cmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUoKSwgcHJv
cGVydHlOYW1lLCBvZmZzZXQpLCBtX2J1dHRlcmZseSk7CisgICAgc2V0U3RydWN0dXJlKHZtLCBT
dHJ1Y3R1cmU6OnJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKCksIHByb3Bl
cnR5TmFtZSwgb2Zmc2V0KSk7CiAgICAgaWYgKG9mZnNldCA9PSBpbnZhbGlkT2Zmc2V0KQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgcHV0RGlyZWN0VW5kZWZpbmVkKG9mZnNldCk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDE1NDQx
NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTYwNCwxMCArNjA0LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHJlaWZ5U3RhdGlj
RnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYyk7CiAKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBCdXR0ZXJmbHkqIGdyb3dPdXRPZkxpbmVTdG9yYWdlKFZNJiwgc2l6ZV90IG9sZFNpemUs
IHNpemVfdCBuZXdTaXplKTsKLSAgICB2b2lkIHNldEJ1dHRlcmZseShWTSYsIEJ1dHRlcmZseSos
IFN0cnVjdHVyZSopOwogICAgIHZvaWQgc2V0QnV0dGVyZmx5V2l0aG91dENoYW5naW5nU3RydWN0
dXJlKEJ1dHRlcmZseSopOyAvLyBZb3UgcHJvYmFibHkgZG9uJ3Qgd2FudCB0byBjYWxsIHRoaXMu
CiAgICAgICAgIAotICAgIHZvaWQgc2V0U3RydWN0dXJlKFZNJiwgU3RydWN0dXJlKiwgQnV0dGVy
Zmx5KiA9IDApOworICAgIHZvaWQgc2V0U3RydWN0dXJlKFZNJiwgU3RydWN0dXJlKik7CisgICAg
dm9pZCBzZXRTdHJ1Y3R1cmVBbmRCdXR0ZXJmbHkoVk0mLCBTdHJ1Y3R1cmUqLCBCdXR0ZXJmbHkq
KTsKICAgICB2b2lkIHNldFN0cnVjdHVyZUFuZFJlYWxsb2NhdGVTdG9yYWdlSWZOZWNlc3Nhcnko
Vk0mLCB1bnNpZ25lZCBvbGRDYXBhY2l0eSwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBzZXRTdHJ1
Y3R1cmVBbmRSZWFsbG9jYXRlU3RvcmFnZUlmTmVjZXNzYXJ5KFZNJiwgU3RydWN0dXJlKik7CiAK
QEAgLTExMjMsMTIgKzExMjMsMTcgQEAgaW5saW5lIGJvb2wgSlNPYmplY3Q6OmlzRXJyb3JJbnN0
YW5jZSgpIAogICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+dHlwZUluZm8oKS50eXBlKCkgPT0gRXJy
b3JJbnN0YW5jZVR5cGU7CiB9CiAKLWlubGluZSB2b2lkIEpTT2JqZWN0OjpzZXRCdXR0ZXJmbHko
Vk0mIHZtLCBCdXR0ZXJmbHkqIGJ1dHRlcmZseSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitpbmxp
bmUgdm9pZCBKU09iamVjdDo6c2V0U3RydWN0dXJlQW5kQnV0dGVyZmx5KFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIEJ1dHRlcmZseSogYnV0dGVyZmx5KQogewotICAgIEFTU0VSVChzdHJ1
Y3R1cmUpOwotICAgIEFTU0VSVCghYnV0dGVyZmx5ID09ICghc3RydWN0dXJlLT5vdXRPZkxpbmVD
YXBhY2l0eSgpICYmICFzdHJ1Y3R1cmUtPmhhc0luZGV4aW5nSGVhZGVyKHRoaXMpKSk7Ci0gICAg
c2V0U3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUsIGJ1dHRlcmZseSk7CiAgICAgbV9idXR0ZXJmbHkg
PSBidXR0ZXJmbHk7CisgICAgc2V0U3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworfQorCitpbmxp
bmUgdm9pZCBKU09iamVjdDo6c2V0U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCit7CisgICAgQVNTRVJUKHN0cnVjdHVyZSk7CisgICAgQVNTRVJUKCFtX2J1dHRlcmZseSA9
PSAhKHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSB8fCBzdHJ1Y3R1cmUtPmhhc0luZGV4
aW5nSGVhZGVyKHRoaXMpKSk7CisgICAgSlNDZWxsOjpzZXRTdHJ1Y3R1cmUodm0sIHN0cnVjdHVy
ZSk7CiB9CiAKIGlubGluZSB2b2lkIEpTT2JqZWN0OjpzZXRCdXR0ZXJmbHlXaXRob3V0Q2hhbmdp
bmdTdHJ1Y3R1cmUoQnV0dGVyZmx5KiBidXR0ZXJmbHkpCkBAIC0xMjkwLDcgKzEyOTUsNyBAQCBp
bmxpbmUgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW50ZXJuYWwoCiAgICAgICAgIGlmIChzdHJ1
Y3R1cmUoKS0+cHV0V2lsbEdyb3dPdXRPZkxpbmVTdG9yYWdlKCkpCiAgICAgICAgICAgICBuZXdC
dXR0ZXJmbHkgPSBncm93T3V0T2ZMaW5lU3RvcmFnZSh2bSwgc3RydWN0dXJlKCktPm91dE9mTGlu
ZUNhcGFjaXR5KCksIHN0cnVjdHVyZSgpLT5zdWdnZXN0ZWROZXdPdXRPZkxpbmVTdG9yYWdlQ2Fw
YWNpdHkoKSk7CiAgICAgICAgIG9mZnNldCA9IHN0cnVjdHVyZSgpLT5hZGRQcm9wZXJ0eVdpdGhv
dXRUcmFuc2l0aW9uKHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMsIHNwZWNpZmljRnVuY3Rp
b24pOwotICAgICAgICBzZXRCdXR0ZXJmbHkodm0sIG5ld0J1dHRlcmZseSwgc3RydWN0dXJlKCkp
OworICAgICAgICBzZXRTdHJ1Y3R1cmVBbmRCdXR0ZXJmbHkodm0sIHN0cnVjdHVyZSgpLCBuZXdC
dXR0ZXJmbHkpOwogCiAgICAgICAgIHZhbGlkYXRlT2Zmc2V0KG9mZnNldCk7CiAgICAgICAgIEFT
U0VSVChzdHJ1Y3R1cmUoKS0+aXNWYWxpZE9mZnNldChvZmZzZXQpKTsKQEAgLTEzMTIsNyArMTMx
Nyw3IEBAIGlubGluZSBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbnRlcm5hbCgKIAogICAgICAg
ICB2YWxpZGF0ZU9mZnNldChvZmZzZXQpOwogICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5pc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpOwotICAgICAgICBzZXRCdXR0ZXJmbHkodm0sIG5ld0J1dHRlcmZs
eSwgc3RydWN0dXJlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlQW5kQnV0dGVyZmx5KHZtLCBzdHJ1
Y3R1cmUsIG5ld0J1dHRlcmZseSk7CiAgICAgICAgIHB1dERpcmVjdCh2bSwgb2Zmc2V0LCB2YWx1
ZSk7CiAgICAgICAgIC8vIFRoaXMgaXMgYSBuZXcgcHJvcGVydHk7IHRyYW5zaXRpb25zIHdpdGgg
c3BlY2lmaWMgdmFsdWVzIGFyZSBub3QgY3VycmVudGx5IGNhY2hhYmxlLAogICAgICAgICAvLyBz
byBsZWF2ZSB0aGUgc2xvdCBpbiBhbiB1bmNhY2hhYmxlIHN0YXRlLgpAQCAtMTM0NCw3ICsxMzQ5
LDcgQEAgaW5saW5lIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEludGVybmFsKAogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLy8gY2FzZSAo
MikgRGVzcGVjaWZ5LCBmYWxsIHRocm91Z2ggdG8gKDMpLgotICAgICAgICAgICAgc2V0U3RydWN0
dXJlKHZtLCBTdHJ1Y3R1cmU6OmRlc3BlY2lmeUZ1bmN0aW9uVHJhbnNpdGlvbih2bSwgc3RydWN0
dXJlKCksIHByb3BlcnR5TmFtZSksIG1fYnV0dGVyZmx5KTsKKyAgICAgICAgICAgIHNldFN0cnVj
dHVyZSh2bSwgU3RydWN0dXJlOjpkZXNwZWNpZnlGdW5jdGlvblRyYW5zaXRpb24odm0sIHN0cnVj
dHVyZSgpLCBwcm9wZXJ0eU5hbWUpKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIGNhc2UgKDMp
IHNldCB0aGUgc2xvdCwgZG8gdGhlIHB1dCwgcmV0dXJuLgpAQCAtMTM3MiwyNCArMTM3NywxOCBA
QCBpbmxpbmUgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW50ZXJuYWwoCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLWlubGluZSB2b2lkIEpTT2JqZWN0OjpzZXRTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgQnV0dGVyZmx5KiBidXR0ZXJmbHkpCi17Ci0gICAgSlNDZWxsOjpz
ZXRTdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7Ci0gICAgQVNTRVJUX1VOVVNFRChidXR0ZXJmbHks
ICFidXR0ZXJmbHkgPT0gIShzdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkgfHwgc3RydWN0
dXJlLT5oYXNJbmRleGluZ0hlYWRlcih0aGlzKSkpOwotfQotCiBpbmxpbmUgdm9pZCBKU09iamVj
dDo6c2V0U3RydWN0dXJlQW5kUmVhbGxvY2F0ZVN0b3JhZ2VJZk5lY2Vzc2FyeShWTSYgdm0sIHVu
c2lnbmVkIG9sZENhcGFjaXR5LCBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSkKIHsKICAgICBBU1NF
UlQob2xkQ2FwYWNpdHkgPD0gbmV3U3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpKTsKICAg
ICAKICAgICBpZiAob2xkQ2FwYWNpdHkgPT0gbmV3U3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0
eSgpKSB7Ci0gICAgICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlLCBtX2J1dHRlcmZs
eSk7CisgICAgICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICAKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGdyb3dPdXRP
ZkxpbmVTdG9yYWdlKAogICAgICAgICB2bSwgb2xkQ2FwYWNpdHksIG5ld1N0cnVjdHVyZS0+b3V0
T2ZMaW5lQ2FwYWNpdHkoKSk7Ci0gICAgc2V0QnV0dGVyZmx5KHZtLCBuZXdCdXR0ZXJmbHksIG5l
d1N0cnVjdHVyZSk7CisgICAgc2V0U3RydWN0dXJlQW5kQnV0dGVyZmx5KHZtLCBuZXdTdHJ1Y3R1
cmUsIG5ld0J1dHRlcmZseSk7CiB9CiAKIGlubGluZSB2b2lkIEpTT2JqZWN0OjpzZXRTdHJ1Y3R1
cmVBbmRSZWFsbG9jYXRlU3RvcmFnZUlmTmVjZXNzYXJ5KFZNJiB2bSwgU3RydWN0dXJlKiBuZXdT
dHJ1Y3R1cmUpCkBAIC0xNDI3LDcgKzE0MjYsNyBAQCBpbmxpbmUgdm9pZCBKU09iamVjdDo6cHV0
RGlyZWN0V2l0aG91dFRyCiAgICAgaWYgKHN0cnVjdHVyZSgpLT5wdXRXaWxsR3Jvd091dE9mTGlu
ZVN0b3JhZ2UoKSkKICAgICAgICAgbmV3QnV0dGVyZmx5ID0gZ3Jvd091dE9mTGluZVN0b3JhZ2Uo
dm0sIHN0cnVjdHVyZSgpLT5vdXRPZkxpbmVDYXBhY2l0eSgpLCBzdHJ1Y3R1cmUoKS0+c3VnZ2Vz
dGVkTmV3T3V0T2ZMaW5lU3RvcmFnZUNhcGFjaXR5KCkpOwogICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCA9IHN0cnVjdHVyZSgpLT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKHZtLCBwcm9w
ZXJ0eU5hbWUsIGF0dHJpYnV0ZXMsIGdldENhbGxhYmxlT2JqZWN0KHZhbHVlKSk7Ci0gICAgc2V0
QnV0dGVyZmx5KHZtLCBuZXdCdXR0ZXJmbHksIHN0cnVjdHVyZSgpKTsKKyAgICBzZXRTdHJ1Y3R1
cmVBbmRCdXR0ZXJmbHkodm0sIHN0cnVjdHVyZSgpLCBuZXdCdXR0ZXJmbHkpOwogICAgIHB1dERp
cmVjdCh2bSwgb2Zmc2V0LCB2YWx1ZSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMTU0NDE1KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzA2
LDcgKzcwNiw3IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjpmbGF0dGVuRGljdGlvbmFyeVMKICAg
ICAvLyBJZiB0aGUgb2JqZWN0IGhhZCBhIEJ1dHRlcmZseSBidXQgYWZ0ZXIgZmxhdHRlbmluZy9j
b21wYWN0aW5nIHdlIG5vIGxvbmdlciBoYXZlIG5lZWQgb2YgaXQsCiAgICAgLy8gd2UgbmVlZCB0
byB6ZXJvIGl0IG91dCBiZWNhdXNlIHRoZSBjb2xsZWN0b3IgZGVwZW5kcyBvbiB0aGUgU3RydWN0
dXJlIHRvIGtub3cgdGhlIHNpemUgZm9yIGNvcHlpbmcuCiAgICAgaWYgKG9iamVjdC0+YnV0dGVy
Zmx5KCkgJiYgIXRoaXMtPm91dE9mTGluZUNhcGFjaXR5KCkgJiYgIXRoaXMtPmhhc0luZGV4aW5n
SGVhZGVyKG9iamVjdCkpCi0gICAgICAgIG9iamVjdC0+c2V0QnV0dGVyZmx5KHZtLCAwLCB0aGlz
KTsKKyAgICAgICAgb2JqZWN0LT5zZXRTdHJ1Y3R1cmVBbmRCdXR0ZXJmbHkodm0sIHRoaXMsIDAp
OwogCiAgICAgcmV0dXJuIHRoaXM7CiB9Cg==
</data>
<flag name="review"
          id="231305"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>