<?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>142769</bug_id>
          
          <creation_ts>2015-03-16 20:10:06 -0700</creation_ts>
          <short_desc>DFG IR shouldn&apos;t have a separate node for every kind of put hint that could be described using PromotedLocationDescriptor</short_desc>
          <delta_ts>2015-03-17 08:51:37 -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>All</rep_platform>
          <op_sys>All</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>141174</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1077719</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-16 20:10:06 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077724</commentid>
    <comment_count>1</comment_count>
      <attachid>248794</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-16 20:30:30 -0700</bug_when>
    <thetext>Created attachment 248794
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077727</commentid>
    <comment_count>2</comment_count>
      <attachid>248795</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-16 20:33:04 -0700</bug_when>
    <thetext>Created attachment 248795
the patch

Fix debug build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077888</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-17 08:51:37 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/181650</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248794</attachid>
            <date>2015-03-16 20:30:30 -0700</date>
            <delta_ts>2015-03-16 20:33:04 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>24910</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgxNjA3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDg0IEBA
CisyMDE1LTAzLTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIElSIHNob3VsZG4ndCBoYXZlIGEgc2VwYXJhdGUgbm9kZSBmb3IgZXZlcnkga2luZCBvZiBw
dXQgaGludCB0aGF0IGNvdWxkIGJlIGRlc2NyaWJlZCB1c2luZyBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQyNzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBXaGVuIHdlIHNpbmsgYW4gb2JqZWN0IGFsbG9jYXRpb24sIHdlIG5lZWQgdG8gaGF2
ZSBzb21lIHdheSBvZiB0cmFja2luZyB3aGF0IHN0b3JlcyB3b3VsZAorICAgICAgICBoYXZlIGhh
cHBlbmVkIGhhZCB0aGUgYWxsb2NhdGlvbiBub3QgYmVlbiBzdW5rLCBzbyB0aGF0IHdlIGtub3cg
aG93IHRvIHJlbWF0ZXJpYWxpemUgdGhlCisgICAgICAgIG9iamVjdCBvbiBPU1IgZXhpdC4gUHJp
b3IgdG8gdGhpcyBjaGFuZ2UsIHRydW5rIGhhZCB0d28gd2F5cyBvZiBkZXNjcmliaW5nIHN1Y2gg
YSAicHV0CisgICAgICAgIGhpbnQiOgorICAgICAgICAKKyAgICAgICAgLSBUaGUgUHV0U3RydXR1
cmVIaW50IGFuZCBQdXRCeU9mZnNldEhpbnQgbm9kZSB0eXBlcy4KKyAgICAgICAgLSBUaGUgUHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgY2xhc3MsIHdoaWNoIGhhcyBhbiBlbnVtIHdpdGggY2Fz
ZXMgU3RydWN0dXJlUExvYyBhbmQKKyAgICAgICAgICBOYW1lZFByb3BlcnR5UExvYy4KKyAgICAg
ICAgCisgICAgICAgIFdlIGFsc28gaGFkIHdheXMgb2YgY29udmVydGluZyBmcm9tIGEgTm9kZSB3
aXRoIHRob3NlIHR3byBub2RlIHR5cGVzIHRvIGEKKyAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3IsIGFuZCB3ZSBoYWQgYSB3YXkgb2YgY29udmVydGluZyBhIFByb21vdGVkTG9jYXRp
b25EZXNjcmlwdG9yIHRvCisgICAgICAgIGEgTm9kZS4KKyAgICAgICAgCisgICAgICAgIFRoaXMg
Y2hhbmdlIHJlbW92ZXMgdGhlIHJlZHVuZGFuY3kuIFdlIG5vdyBoYXZlIGp1c3Qgb25lIG5vZGUg
dHlwZSB0aGF0IGNvcnJlc3BvbmRzIHRvIGEKKyAgICAgICAgcHV0IGhpbnQsIGFuZCBpdCdzIGNh
bGxlZCBQdXRIaW50LiBJdCBoYXMgYSBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciBhcyBtZXRh
ZGF0YS4KKyAgICAgICAgQ29udmVydGluZyBiZXR3ZWVuIGEgUHV0SGludCBub2RlIGFuZCBhIFBy
b21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIGFuZCB2aWNlLXZlcnNhIGlzIG5vdworICAgICAgICB0
cml2aWFsLgorICAgICAgICAKKyAgICAgICAgVGhpcyBtZWFucyB0aGF0IGlmIHdlIGFkZCBuZXcg
a2luZHMgb2Ygc3Vua2VuIG9iamVjdHMsIHdlJ2xsIGhhdmUgbGVzcyBwcm8tZm9ybWEgdG8gd3Jp
dGUKKyAgICAgICAgZm9yIHRoZSBwdXQgaGludHMgdG8gdGhvc2Ugb2JqZWN0cy4gVGhpcyBpcyBt
YWlubHkgdG8gc2ltcGxpZnkgdGhlIGltcGxlbWVudGF0aW9uIG9mCisgICAgICAgIGFyZ3VtZW50
cyBlbGltaW5hdGlvbiBpbiBidWcgMTQxMTc0LgorCisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0
SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRlcnBy
ZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBkZmcv
REZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgorICAgICAg
ICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAg
ICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhh
c2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR0dyYXBoLmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpHcmFwaDo6ZHVtcCk6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6Om1lcmdlUmVs
ZXZhbnRUb09TUik6CisgICAgICAgICogZGZnL0RGR01heUV4aXQuY3BwOgorICAgICAgICAoSlND
OjpERkc6Om1heUV4aXQpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpOb2RlOjpjb252ZXJ0VG9QdXRIaW50KToKKyAgICAgICAgKEpTQzo6REZHOjpOb2Rl
Ojpjb252ZXJ0VG9QdXRTdHJ1Y3R1cmVIaW50KToKKyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpj
b252ZXJ0VG9QdXRCeU9mZnNldEhpbnQpOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6OnByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9yKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAg
ICAoSlNDOjpERkc6Ok5vZGU6Omhhc0lkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpERkc6Ok5v
ZGU6Omhhc1Byb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKToKKyAgICAgICAgKEpTQzo6REZHOjpO
b2RlOjpjb252ZXJ0VG9QdXRCeU9mZnNldEhpbnQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpE
Rkc6Ok5vZGU6OmNvbnZlcnRUb1B1dFN0cnVjdHVyZUhpbnQpOiBEZWxldGVkLgorICAgICAgICAq
IGRmZy9ERkdOb2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFs
eXNpc1BoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpMb2NhbE9TUkF2YWlsYWJpbGl0eUNh
bGN1bGF0b3I6OmV4ZWN1dGVOb2RlKToKKyAgICAgICAgKiBkZmcvREZHT2JqZWN0QWxsb2NhdGlv
blNpbmtpbmdQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6T2JqZWN0QWxsb2NhdGlvblNp
bmtpbmdQaGFzZTo6cnVuKToKKyAgICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0aW9uU2lu
a2luZ1BoYXNlOjpsb3dlck5vblJlYWRpbmdPcGVyYXRpb25zT25QaGFudG9tQWxsb2NhdGlvbnMp
OgorICAgICAgICAoSlNDOjpERkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OmhhbmRs
ZU5vZGUpOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3BhZ2F0
ZSk6CisgICAgICAgICogZGZnL0RGR1Byb21vdGVIZWFwQWNjZXNzLmg6CisgICAgICAgIChKU0M6
OkRGRzo6cHJvbW90ZUhlYXBBY2Nlc3MpOgorICAgICAgICAqIGRmZy9ERkdQcm9tb3RlZEhlYXBM
b2NhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRpb246OmNy
ZWF0ZUhpbnQpOgorICAgICAgICAqIGRmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oOgorICAg
ICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjppbW0xKToKKyAgICAg
ICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcjo6aW1tMik6CisgICAgICAg
ICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpzYWZlVG9FeGVj
dXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1ZhbGlkYXRlLmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpWYWxpZGF0ZTo6dmFsaWRhdGVDUFMpOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRp
ZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9G
VExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06
OmNvbXBpbGVOb2RlKToKKwogMjAxNS0wMy0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFByb2dyZXNzIHRvd2FyZHMgQ01ha2Ugb24gTWFj
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJ
bmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdEludGVycHJldGVySW5saW5lcy5oCShyZXZpc2lvbiAxODE2MDcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEzMDgsOCArMTMwOCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0
cmFjdFN0YXRlVHkKICAgICAgICAgLy8gVGhpcyBjbGFpbXMgdG8gcmV0dXJuIGJvdHRvbS4KICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIAotICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50OgotICAgIGNh
c2UgUHV0U3RydWN0dXJlSGludDoKKyAgICBjYXNlIFB1dEhpbnQ6CiAgICAgICAgIGJyZWFrOwog
ICAgICAgICAKICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OiB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAkocmV2aXNpb24gMTgxNjA3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5MCw4ICsyOTAsNyBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBu
b2RlCiAgICAgY2FzZSBQcm9maWxlQ29udHJvbEZsb3c6CiAgICAgY2FzZSBTdG9yZUJhcnJpZXI6
CiAgICAgY2FzZSBTdG9yZUJhcnJpZXJXaXRoTnVsbENoZWNrOgotICAgIGNhc2UgUHV0QnlPZmZz
ZXRIaW50OgotICAgIGNhc2UgUHV0U3RydWN0dXJlSGludDoKKyAgICBjYXNlIFB1dEhpbnQ6CiAg
ICAgICAgIHdyaXRlKFNpZGVTdGF0ZSk7CiAgICAgICAgIHJldHVybjsKICAgICAgICAgCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCShyZXZpc2lvbiAxODE2MDcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIwNCw5ICsyMDQsOCBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5v
ZGUpCiAgICAgY2FzZSBDaGVja0JhZENlbGw6CiAgICAgY2FzZSBCb3R0b21WYWx1ZToKICAgICBj
YXNlIFBoYW50b21OZXdPYmplY3Q6Ci0gICAgY2FzZSBQdXRCeU9mZnNldEhpbnQ6CisgICAgY2Fz
ZSBQdXRIaW50OgogICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlhdGU6Ci0gICAgY2FzZSBQ
dXRTdHJ1Y3R1cmVIaW50OgogICAgIGNhc2UgUHV0U3RhY2s6CiAgICAgY2FzZSBLaWxsU3RhY2s6
CiAgICAgY2FzZSBHZXRTdGFjazoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Rml4dXBQaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdGaXh1cFBoYXNlLmNwcAkocmV2aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA2OCw5ICsxMDY4
LDggQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBJZGVudGl0eTogLy8gVGhpcyBzaG91bGQgaGF2
ZSBiZWVuIGNsZWFuZWQgdXAuCiAgICAgICAgIGNhc2UgQm9vbGVhblRvTnVtYmVyOgogICAgICAg
ICBjYXNlIFBoYW50b21OZXdPYmplY3Q6Ci0gICAgICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50Ogor
ICAgICAgICBjYXNlIFB1dEhpbnQ6CiAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlh
dGU6Ci0gICAgICAgIGNhc2UgUHV0U3RydWN0dXJlSGludDoKICAgICAgICAgY2FzZSBNYXRlcmlh
bGl6ZU5ld09iamVjdDoKICAgICAgICAgY2FzZSBQdXRTdGFjazoKICAgICAgICAgY2FzZSBLaWxs
U3RhY2s6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkocmV2aXNp
b24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIyMiw2ICsyMjIsOCBAQCB2b2lkIEdyYXBoOjpkdW1wKFByaW50U3Ry
ZWFtJiBvdXQsIGNvbnN0CiAgICAgICAgIG91dC5wcmludChjb21tYSwgImdsb2JhbCIsIGdsb2Jh
bE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5maW5kUmVnaXN0ZXJJbmRleChub2Rl
LT5yZWdpc3RlclBvaW50ZXIoKSksICIoIiwgUmF3UG9pbnRlcihub2RlLT5yZWdpc3RlclBvaW50
ZXIoKSksICIpIik7CiAgICAgaWYgKG5vZGUtPmhhc0lkZW50aWZpZXIoKSkKICAgICAgICAgb3V0
LnByaW50KGNvbW1hLCAiaWQiLCBub2RlLT5pZGVudGlmaWVyTnVtYmVyKCksICJ7IiwgaWRlbnRp
ZmllcnMoKVtub2RlLT5pZGVudGlmaWVyTnVtYmVyKCldLCAifSIpOworICAgIGlmIChub2RlLT5o
YXNQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigpKQorICAgICAgICBvdXQucHJpbnQoY29tbWEs
IG5vZGUtPnByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKCkpOwogICAgIGlmIChub2RlLT5oYXNT
dHJ1Y3R1cmVTZXQoKSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCBpbkNvbnRleHQobm9kZS0+
c3RydWN0dXJlU2V0KCksIGNvbnRleHQpKTsKICAgICBpZiAobm9kZS0+aGFzU3RydWN0dXJlKCkp
CkBAIC01ODUsOCArNTg3LDcgQEAgdm9pZCBHcmFwaDo6bWVyZ2VSZWxldmFudFRvT1NSKCkKICAg
ICAgICAgICAgICAgICBub2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFncyhOb2RlUmVsZXZhbnRUb09T
Uik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgICAg
ICBjYXNlIFB1dFN0cnVjdHVyZUhpbnQ6Ci0gICAgICAgICAgICBjYXNlIFB1dEJ5T2Zmc2V0SGlu
dDoKKyAgICAgICAgICAgIGNhc2UgUHV0SGludDoKICAgICAgICAgICAgICAgICBub2RlLT5jaGls
ZDIoKS0+bWVyZ2VGbGFncyhOb2RlUmVsZXZhbnRUb09TUik7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R01heUV4aXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
TWF5RXhpdC5jcHAJKHJldmlzaW9uIDE4MTYwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTWF5RXhpdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDggKzc2LDcgQEAgYm9vbCBt
YXlFeGl0KEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIFVwc2lsb246CiAgICAg
Y2FzZSBab21iaWVIaW50OgogICAgIGNhc2UgQm90dG9tVmFsdWU6Ci0gICAgY2FzZSBQdXRTdHJ1
Y3R1cmVIaW50OgotICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50OgorICAgIGNhc2UgUHV0SGludDoK
ICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6CiAgICAgY2FzZSBQdXRTdGFjazoKICAgICBjYXNl
IEtpbGxTdGFjazoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmNwcAkocmV2
aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiREZHR3JhcGguaCIK
ICNpbmNsdWRlICJERkdOb2RlQWxsb2NhdG9yLmgiCisjaW5jbHVkZSAiREZHUHJvbW90ZWRIZWFw
TG9jYXRpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgREZHIHsKQEAgLTkzLDYgKzk0LDM2IEBAIHZvaWQgTm9kZTo6Y29udmVydFRvSWRl
bnRpdHkoKQogICAgIHNldFJlc3VsdChyZXN1bHQpOwogfQogCit2b2lkIE5vZGU6OmNvbnZlcnRU
b1B1dEhpbnQoY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIE5v
ZGUqIGJhc2UsIE5vZGUqIHZhbHVlKQoreworICAgIG1fb3AgPSBQdXRIaW50OworICAgIG1fb3BJ
bmZvID0gZGVzY3JpcHRvci5pbW0xKCkubV92YWx1ZTsKKyAgICBtX29wSW5mbzIgPSBkZXNjcmlw
dG9yLmltbTIoKS5tX3ZhbHVlOworICAgIGNoaWxkMSgpID0gYmFzZS0+ZGVmYXVsdEVkZ2UoKTsK
KyAgICBjaGlsZDIoKSA9IHZhbHVlLT5kZWZhdWx0RWRnZSgpOworICAgIGNoaWxkMygpID0gRWRn
ZSgpOworfQorCit2b2lkIE5vZGU6OmNvbnZlcnRUb1B1dFN0cnVjdHVyZUhpbnQoTm9kZSogc3Ry
dWN0dXJlKQoreworICAgIEFTU0VSVChtX29wID09IFB1dFN0cnVjdHVyZSk7CisgICAgQVNTRVJU
KHN0cnVjdHVyZS0+Y2FzdENvbnN0YW50PFN0cnVjdHVyZSo+KCkgPT0gdHJhbnNpdGlvbigpLT5u
ZXh0KTsKKyAgICBjb252ZXJ0VG9QdXRIaW50KFN0cnVjdHVyZVBMb2MsIGNoaWxkMSgpLm5vZGUo
KSwgc3RydWN0dXJlKTsKK30KKwordm9pZCBOb2RlOjpjb252ZXJ0VG9QdXRCeU9mZnNldEhpbnQo
KQoreworICAgIEFTU0VSVChtX29wID09IFB1dEJ5T2Zmc2V0KTsKKyAgICBjb252ZXJ0VG9QdXRI
aW50KAorICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihOYW1lZFByb3BlcnR5UExv
Yywgc3RvcmFnZUFjY2Vzc0RhdGEoKS5pZGVudGlmaWVyTnVtYmVyKSwKKyAgICAgICAgY2hpbGQy
KCkubm9kZSgpLCBjaGlsZDMoKS5ub2RlKCkpOworfQorCitQcm9tb3RlZExvY2F0aW9uRGVzY3Jp
cHRvciBOb2RlOjpwcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigpCit7CisgICAgcmV0dXJuIFBy
b21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKHN0YXRpY19jYXN0PFByb21vdGVkTG9jYXRpb25LaW5k
PihtX29wSW5mbyksIG1fb3BJbmZvMik7Cit9CisKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcK
IAogbmFtZXNwYWNlIFdURiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAko
cmV2aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3Bh
Y2UgREZHIHsKIAogY2xhc3MgR3JhcGg7CitjbGFzcyBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
cjsKIHN0cnVjdCBCYXNpY0Jsb2NrOwogCiBzdHJ1Y3QgU3RvcmFnZUFjY2Vzc0RhdGEgewpAQCAt
NTU3LDI0ICs1NTgsMTAgQEAgc3RydWN0IE5vZGUgewogICAgICAgICBtX29wID0gTXVsdGlQdXRC
eU9mZnNldDsKICAgICB9CiAgICAgCi0gICAgdm9pZCBjb252ZXJ0VG9QdXRCeU9mZnNldEhpbnQo
KQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fb3AgPT0gUHV0QnlPZmZzZXQpOwotICAgICAgICBt
X29wSW5mbyA9IHN0b3JhZ2VBY2Nlc3NEYXRhKCkuaWRlbnRpZmllck51bWJlcjsKLSAgICAgICAg
bV9vcCA9IFB1dEJ5T2Zmc2V0SGludDsKLSAgICAgICAgY2hpbGQxKCkgPSBjaGlsZDIoKTsKLSAg
ICAgICAgY2hpbGQyKCkgPSBjaGlsZDMoKTsKLSAgICAgICAgY2hpbGQzKCkgPSBFZGdlKCk7Ci0g
ICAgfQorICAgIHZvaWQgY29udmVydFRvUHV0SGludChjb25zdCBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvciYsIE5vZGUqIGJhc2UsIE5vZGUqIHZhbHVlKTsKICAgICAKLSAgICB2b2lkIGNvbnZl
cnRUb1B1dFN0cnVjdHVyZUhpbnQoTm9kZSogc3RydWN0dXJlKQotICAgIHsKLSAgICAgICAgQVNT
RVJUKG1fb3AgPT0gUHV0U3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+Y2Fz
dENvbnN0YW50PFN0cnVjdHVyZSo+KCkgPT0gdHJhbnNpdGlvbigpLT5uZXh0KTsKLSAgICAgICAg
bV9vcCA9IFB1dFN0cnVjdHVyZUhpbnQ7Ci0gICAgICAgIG1fb3BJbmZvID0gMDsKLSAgICAgICAg
Y2hpbGQyKCkgPSBFZGdlKHN0cnVjdHVyZSwgS25vd25DZWxsVXNlKTsKLSAgICB9CisgICAgdm9p
ZCBjb252ZXJ0VG9QdXRCeU9mZnNldEhpbnQoKTsKKyAgICB2b2lkIGNvbnZlcnRUb1B1dFN0cnVj
dHVyZUhpbnQoTm9kZSogc3RydWN0dXJlKTsKICAgICAKICAgICB2b2lkIGNvbnZlcnRUb1BoYW50
b21OZXdPYmplY3QoKQogICAgIHsKQEAgLTgzMCw3ICs4MTcsNiBAQCBzdHJ1Y3QgTm9kZSB7CiAg
ICAgICAgIGNhc2UgUHV0QnlJZDoKICAgICAgICAgY2FzZSBQdXRCeUlkRmx1c2g6CiAgICAgICAg
IGNhc2UgUHV0QnlJZERpcmVjdDoKLSAgICAgICAgY2FzZSBQdXRCeU9mZnNldEhpbnQ6CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKQEAgLTg0Myw2ICs4MjksMTMgQEAgc3RydWN0IE5vZGUgewogICAgICAgICByZXR1
cm4gbV9vcEluZm87CiAgICAgfQogICAgIAorICAgIGJvb2wgaGFzUHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3IoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG9wKCkgPT0gUHV0SGludDsKKyAgICB9
CisgICAgCisgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgcHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3IoKTsKKyAgICAKICAgICAvLyBUaGlzIGNvcnJlY3RzIHRoZSBhcml0aG1ldGljIG5v
ZGUgZmxhZ3MsIHNvIHRoYXQgaXJyZWxldmFudCBiaXRzIGFyZQogICAgIC8vIGlnbm9yZWQuIElu
IHBhcnRpY3VsYXIsIGFueXRoaW5nIG90aGVyIHRoYW4gQXJpdGhNdWwgZG9lcyBub3QgbmVlZAog
ICAgIC8vIHRvIGtub3cgaWYgaXQgY2FuIHNwZWN1bGF0ZSBvbiBuZWdhdGl2ZSB6ZXJvLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAkocmV2aXNpb24gMTgxNjA3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yMzcsOSArMjM3LDggQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewog
ICAgIFwKICAgICAvKiBTdXBwb3J0IGZvciBhbGxvY2F0aW9uIHNpbmtpbmcuICovXAogICAgIG1h
Y3JvKFBoYW50b21OZXdPYmplY3QsIE5vZGVSZXN1bHRKUykgXAotICAgIG1hY3JvKFB1dEJ5T2Zm
c2V0SGludCwgTm9kZU11c3RHZW5lcmF0ZSkgXAorICAgIG1hY3JvKFB1dEhpbnQsIE5vZGVNdXN0
R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja1N0cnVjdHVyZUltbWVkaWF0ZSwgTm9kZU11c3RH
ZW5lcmF0ZSkgXAotICAgIG1hY3JvKFB1dFN0cnVjdHVyZUhpbnQsIE5vZGVNdXN0R2VuZXJhdGUp
IFwKICAgICBtYWNybyhNYXRlcmlhbGl6ZU5ld09iamVjdCwgTm9kZVJlc3VsdEpTIHwgTm9kZUhh
c1ZhckFyZ3MpIFwKICAgICBcCiAgICAgLyogTm9kZXMgZm9yIG1pc2Mgb3BlcmF0aW9ucy4gKi9c
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJpbGl0eUFuYWx5
c2lzUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAJKHJldmlzaW9uIDE4MTYwNykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NiwxNiArMTY2LDE2IEBAIHZvaWQgTG9jYWxPU1JBdmFp
bGFiaWxpdHlDYWxjdWxhdG9yOjpleGUKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgICAgICAK
KyAgICBjYXNlIFB1dEhpbnQ6IHsKKyAgICAgICAgbV9hdmFpbGFiaWxpdHkubV9oZWFwLnNldCgK
KyAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSwg
bm9kZS0+cHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoKSksCisgICAgICAgICAgICBBdmFpbGFi
aWxpdHkobm9kZS0+Y2hpbGQyKCkubm9kZSgpKSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAg
ICAgICAgCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIAotICAgIHBy
b21vdGVIZWFwQWNjZXNzKAotICAgICAgICBub2RlLAotICAgICAgICBbJl0gKFByb21vdGVkSGVh
cExvY2F0aW9uIGxvY2F0aW9uLCBFZGdlIHZhbHVlKSB7Ci0gICAgICAgICAgICBtX2F2YWlsYWJp
bGl0eS5tX2hlYXAuc2V0KGxvY2F0aW9uLCBBdmFpbGFiaWxpdHkodmFsdWUubm9kZSgpKSk7Ci0g
ICAgICAgIH0sCi0gICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24pIHsgfSk7CiB9CiAK
IH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNw
cAkocmV2aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmpl
Y3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzIsMTAgKzcyLDEw
IEBAIHB1YmxpYzoKICAgICAgICAgLy8gICB0aGF0IHdvdWxkIHNlZSBhbnkgb3RoZXIgZXNjYXBl
LiBOb3RlIHRoYXQgVXBzaWxvbnMgY29uc3RpdHV0ZSBlc2NhcGluZyBzaXRlcy4gVGhlbiB3ZQog
ICAgICAgICAvLyAgIGluc2VydCBhZGRpdGlvbmFsIE1hdGVyaWFsaXplTmV3T2JqZWN0IG5vZGVz
IG9uIFVwc2lsb25zIHRoYXQgZmVlZCBpbnRvIFBoaXMgdGhhdCBtaXgKICAgICAgICAgLy8gICBt
YXRlcmlhbGl6YXRpb25zIGFuZCB0aGUgb3JpZ2luYWwgUGhhbnRvbU5ld09iamVjdC4gV2UgdGhl
biB0dXJuIGVhY2ggUHV0QnlPZmZzZXQgb3ZlciBhCi0gICAgICAgIC8vICAgUGhhbnRvbU5ld09i
amVjdCBpbnRvIGEgUHV0QnlPZmZzZXRIaW50LgorICAgICAgICAvLyAgIFBoYW50b21OZXdPYmpl
Y3QgaW50byBhIFB1dEhpbnQuCiAgICAgICAgIC8vCiAgICAgICAgIC8vIC0gV2UgcGVyZm9ybSB0
aGUgc2FtZSBvcHRpbWl6YXRpb24gZm9yIE1hdGVyaWFsaXplTmV3T2JqZWN0LiBUaGlzIGFsbG93
cyB1cyB0byBjb3ZlcgotICAgICAgICAvLyAgIGNhc2VzIHdoZXJlIHdlIGhhZCBNYXRlcmlhbGl6
ZU5ld09iamVjdCBmbG93aW5nIGludG8gYSBQdXRCeU9mZnNldEhpbnQuCisgICAgICAgIC8vICAg
Y2FzZXMgd2hlcmUgd2UgaGFkIE1hdGVyaWFsaXplTmV3T2JqZWN0IGZsb3dpbmcgaW50byBhIFB1
dEhpbnQuCiAgICAgICAgIC8vCiAgICAgICAgIC8vIFdlIGNvdWxkIGFsc28gYWRkIHRoaXMgcnVs
ZToKICAgICAgICAgLy8KQEAgLTUyNyw5ICs1MjcsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgIE5vZGUqIHN0cnVjdHVyZSA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydENv
bnN0YW50KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsIG5vZGUt
Pm9yaWdpbiwgSlNWYWx1ZShub2RlLT5zdHJ1Y3R1cmUoKSkpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBub2RlSW5kZXggKyAxLCBTcGVjTm9uZSwgUHV0U3RydWN0dXJlSGludCwgbm9kZS0+b3Jp
Z2luLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVkZ2Uobm9kZSwgS25vd25DZWxsVXNl
KSwgRWRnZShzdHJ1Y3R1cmUsIEtub3duQ2VsbFVzZSkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5v
ZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9j
YXRpb24oU3RydWN0dXJlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBzdHJ1Y3R1cmUpKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21OZXdPYmplY3QoKTsKICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTUzNywx
MyArNTM4LDE5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKICAgICAgICAgICAgICAgICAgICAgaWYg
KG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbm9kZUluZGV4ICsgMSwgU3BlY05vbmUsIFB1dFN0cnVjdHVyZUhpbnQsIG5vZGUtPm9yaWdp
biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZGdlKG5vZGUsIEtub3duQ2VsbFVzZSks
IG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCkpOworICAgICAgICAgICAgICAgICAgICAgICAg
bV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJ
bmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRp
b24oU3RydWN0dXJlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBtX2dyYXBoLnZhckFyZ0NoaWxkKG5v
ZGUsIDApLm5vZGUoKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3BlcnRpZXMu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNl
dC5pbnNlcnROb2RlKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXgg
KyAxLCBTcGVjTm9uZSwgUHV0QnlPZmZzZXRIaW50LCBub2RlLT5vcmlnaW4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVkZ2Uobm9kZSwgS25vd25DZWxsVXNlKSwgbV9ncmFwaC52
YXJBcmdDaGlsZChub2RlLCBpICsgMSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzW2ldLm1faWRl
bnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNl
dC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZWRQcm9wZXJ0eVBMb2MsIG5v
ZGUsIGlkZW50aWZpZXJOdW1iZXIpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAxKS5ub2RlKCkp
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIG5v
ZGUtPmNvbnZlcnRUb1BoYW50b21OZXdPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgfQpA
QCAtNzYyLDcgKzc2OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgSGFyZFBoYW50b206CiAg
ICAgICAgIGNhc2UgU3RvcmVCYXJyaWVyOgogICAgICAgICBjYXNlIFN0b3JlQmFycmllcldpdGhO
dWxsQ2hlY2s6Ci0gICAgICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50OgorICAgICAgICBjYXNlIFB1
dEhpbnQ6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIFB1
dEJ5T2Zmc2V0OgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9u
UHJvcGFnYXRpb25QaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAJKHJldmlzaW9uIDE4MTYwNykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDIsOSArNTQyLDggQEAgcHJpdmF0ZToKICAgICAg
ICAgY2FzZSBJZGVudGl0eToKICAgICAgICAgY2FzZSBCb29sZWFuVG9OdW1iZXI6CiAgICAgICAg
IGNhc2UgUGhhbnRvbU5ld09iamVjdDoKLSAgICAgICAgY2FzZSBQdXRCeU9mZnNldEhpbnQ6Cisg
ICAgICAgIGNhc2UgUHV0SGludDoKICAgICAgICAgY2FzZSBDaGVja1N0cnVjdHVyZUltbWVkaWF0
ZToKLSAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmVIaW50OgogICAgICAgICBjYXNlIE1hdGVyaWFs
aXplTmV3T2JqZWN0OgogICAgICAgICBjYXNlIFB1dFN0YWNrOgogICAgICAgICBjYXNlIEtpbGxT
dGFjazoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZUhlYXBBY2Nl
c3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVI
ZWFwQWNjZXNzLmgJKHJldmlzaW9uIDE4MTYwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHUHJvbW90ZUhlYXBBY2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzMsOCArMzMsNiBAQAog
CiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKLS8vIE5vdGUgdGhhdCB0aGUgd3Jp
dGUgZnVuY3RvciBpcyByZWFsbHkgdGhlIHVzZWZ1bCB0aGluZyBoZXJlLiBUaGUgcmVhZCBmdW5j
dG9yIGlzIG9ubHkgdXNlZnVsCi0vLyBmb3IgdGhlIG9iamVjdCBhbGxvY2F0aW9uIHNpbmtpbmcg
cGhhc2UuCiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcml0ZUZ1bmN0b3IsIHR5cGVuYW1lIFJlYWRGdW5j
dG9yPgogdm9pZCBwcm9tb3RlSGVhcEFjY2VzcyhOb2RlKiBub2RlLCBjb25zdCBXcml0ZUZ1bmN0
b3ImIHdyaXRlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCkKIHsKQEAgLTYxLDE4ICs1OSwxMSBA
QCB2b2lkIHByb21vdGVIZWFwQWNjZXNzKE5vZGUqIG5vZGUsIGNvbnN0CiAgICAgICAgIH0KICAg
ICAgICAgYnJlYWs7CiAgICAgfQotCi0gICAgY2FzZSBQdXRTdHJ1Y3R1cmVIaW50OiB7Ci0gICAg
ICAgIEFTU0VSVChub2RlLT5jaGlsZDEoKS0+aXNQaGFudG9tT2JqZWN0QWxsb2NhdGlvbigpKTsK
LSAgICAgICAgd3JpdGUoUHJvbW90ZWRIZWFwTG9jYXRpb24oU3RydWN0dXJlUExvYywgbm9kZS0+
Y2hpbGQxKCkpLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAg
IGNhc2UgUHV0QnlPZmZzZXRIaW50OiB7Ci0gICAgICAgIEFTU0VSVChub2RlLT5jaGlsZDEoKS0+
aXNQaGFudG9tT2JqZWN0QWxsb2NhdGlvbigpKTsKLSAgICAgICAgdW5zaWduZWQgaWRlbnRpZmll
ck51bWJlciA9IG5vZGUtPmlkZW50aWZpZXJOdW1iZXIoKTsKKyAgICAgICAgCisgICAgY2FzZSBQ
dXRIaW50OiB7CisgICAgICAgIEFTU0VSVChub2RlLT5jaGlsZDEoKS0+aXNQaGFudG9tQWxsb2Nh
dGlvbigpKTsKICAgICAgICAgd3JpdGUoCi0gICAgICAgICAgICBQcm9tb3RlZEhlYXBMb2NhdGlv
bihOYW1lZFByb3BlcnR5UExvYywgbm9kZS0+Y2hpbGQxKCksIGlkZW50aWZpZXJOdW1iZXIpLAor
ICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRpb24obm9kZS0+Y2hpbGQxKCkubm9kZSgpLCBu
b2RlLT5wcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigpKSwKICAgICAgICAgICAgIG5vZGUtPmNo
aWxkMigpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5jcHAJKHJldmlzaW9u
IDE4MTYwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9j
YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCwyMyArNDAsOSBAQCB2b2lkIFByb21vdGVk
TG9jYXRpb25EZXNjcmlwdG9yOjpkdW1wKFByCiAKIE5vZGUqIFByb21vdGVkSGVhcExvY2F0aW9u
OjpjcmVhdGVIaW50KEdyYXBoJiBncmFwaCwgTm9kZU9yaWdpbiBvcmlnaW4sIE5vZGUqIHZhbHVl
KQogewotICAgIHN3aXRjaCAoa2luZCgpKSB7Ci0gICAgY2FzZSBTdHJ1Y3R1cmVQTG9jOgotICAg
ICAgICByZXR1cm4gZ3JhcGguYWRkTm9kZSgKLSAgICAgICAgICAgIFNwZWNOb25lLCBQdXRTdHJ1
Y3R1cmVIaW50LCBvcmlnaW4sCi0gICAgICAgICAgICBFZGdlKGJhc2UoKSwgS25vd25DZWxsVXNl
KSwgRWRnZSh2YWx1ZSwgS25vd25DZWxsVXNlKSk7Ci0gICAgICAgIAotICAgIGNhc2UgTmFtZWRQ
cm9wZXJ0eVBMb2M6Ci0gICAgICAgIHJldHVybiBncmFwaC5hZGROb2RlKAotICAgICAgICAgICAg
U3BlY05vbmUsIFB1dEJ5T2Zmc2V0SGludCwgb3JpZ2luLAotICAgICAgICAgICAgT3BJbmZvKGlu
Zm8oKSksIEVkZ2UoYmFzZSgpLCBLbm93bkNlbGxVc2UpLCBFZGdlKHZhbHVlLCBVbnR5cGVkVXNl
KSk7Ci0gICAgICAgIAotICAgIGNhc2UgSW52YWxpZFByb21vdGVkTG9jYXRpb25LaW5kOgotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgCi0gICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gZ3JhcGguYWRkTm9k
ZSgKKyAgICAgICAgU3BlY05vbmUsIFB1dEhpbnQsIG9yaWdpbiwgT3BJbmZvKGRlc2NyaXB0b3Io
KS5pbW0xKCkpLCBPcEluZm8oZGVzY3JpcHRvcigpLmltbTIoKSksCisgICAgICAgIGJhc2UoKS0+
ZGVmYXVsdEVkZ2UoKSwgdmFsdWUtPmRlZmF1bHRFZGdlKCkpOwogfQogCiB2b2lkIFByb21vdGVk
SGVhcExvY2F0aW9uOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCShy
ZXZpc2lvbiAxODE2MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVk
SGVhcExvY2F0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDkgQEAgcHVibGljOgog
ICAgIFByb21vdGVkTG9jYXRpb25LaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0K
ICAgICB1bnNpZ25lZCBpbmZvKCkgY29uc3QgeyByZXR1cm4gbV9pbmZvOyB9CiAgICAgCisgICAg
T3BJbmZvIGltbTEoKSBjb25zdCB7IHJldHVybiBPcEluZm8oc3RhdGljX2Nhc3Q8dWludDMyX3Q+
KG1fa2luZCkpOyB9CisgICAgT3BJbmZvIGltbTIoKSBjb25zdCB7IHJldHVybiBPcEluZm8oc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KG1faW5mbykpOyB9CisgICAgCiAgICAgdW5zaWduZWQgaGFzaCgp
IGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9raW5kICsgbV9pbmZvOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgJKHJldmlzaW9uIDE4
MTYwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzcsOSArMjc3LDggQEAgYm9vbCBzYWZlVG9FeGVjdXRlKEFic3Ry
YWN0U3RhdGVUeXBlJiBzdAogICAgIGNhc2UgR2V0RW51bWVyYXRvclBuYW1lOgogICAgIGNhc2Ug
VG9JbmRleFN0cmluZzoKICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6Ci0gICAgY2FzZSBQdXRC
eU9mZnNldEhpbnQ6CisgICAgY2FzZSBQdXRIaW50OgogICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJ
bW1lZGlhdGU6Ci0gICAgY2FzZSBQdXRTdHJ1Y3R1cmVIaW50OgogICAgIGNhc2UgTWF0ZXJpYWxp
emVOZXdPYmplY3Q6CiAgICAgICAgIHJldHVybiB0cnVlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlz
aW9uIDE4MTYwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwOTIsOSArNTA5Miw4IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIENoZWNrQmFkQ2VsbDoK
ICAgICBjYXNlIEJvdHRvbVZhbHVlOgogICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDoKLSAgICBj
YXNlIFB1dEJ5T2Zmc2V0SGludDoKKyAgICBjYXNlIFB1dEhpbnQ6CiAgICAgY2FzZSBDaGVja1N0
cnVjdHVyZUltbWVkaWF0ZToKLSAgICBjYXNlIFB1dFN0cnVjdHVyZUhpbnQ6CiAgICAgY2FzZSBN
YXRlcmlhbGl6ZU5ld09iamVjdDoKICAgICBjYXNlIFB1dFN0YWNrOgogICAgIGNhc2UgS2lsbFN0
YWNrOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxODE2MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MTYzLDkgKzUx
NjMsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2Fz
ZSBDaGVja0JhZENlbGw6CiAgICAgY2FzZSBCb3R0b21WYWx1ZToKICAgICBjYXNlIFBoYW50b21O
ZXdPYmplY3Q6Ci0gICAgY2FzZSBQdXRCeU9mZnNldEhpbnQ6CisgICAgY2FzZSBQdXRIaW50Ogog
ICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlhdGU6Ci0gICAgY2FzZSBQdXRTdHJ1Y3R1cmVI
aW50OgogICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6CiAgICAgY2FzZSBQdXRTdGFjazoK
ICAgICBjYXNlIEtpbGxTdGFjazoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
VmFsaWRhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
VmFsaWRhdGUuY3BwCShyZXZpc2lvbiAxODE2MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1ZhbGlkYXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM4LDkgKzQzOCw4IEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICAgICAgY2FzZSBVcHNpbG9uOgogICAgICAgICAgICAgICAgIGNh
c2UgQ2hlY2tJbkJvdW5kczoKICAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6
Ci0gICAgICAgICAgICAgICAgY2FzZSBQdXRCeU9mZnNldEhpbnQ6CisgICAgICAgICAgICAgICAg
Y2FzZSBQdXRIaW50OgogICAgICAgICAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlh
dGU6Ci0gICAgICAgICAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmVIaW50OgogICAgICAgICAgICAg
ICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6CiAgICAgICAgICAgICAgICAgY2FzZSBQdXRT
dGFjazoKICAgICAgICAgICAgICAgICBjYXNlIEtpbGxTdGFjazoKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJKHJldmlzaW9uIDE4MTYwNykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTc3LDkgKzE3Nyw4IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29t
cGlsZShOb2RlKiAKICAgICBjYXNlIFRvSW5kZXhTdHJpbmc6CiAgICAgY2FzZSBCb3R0b21WYWx1
ZToKICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6Ci0gICAgY2FzZSBQdXRCeU9mZnNldEhpbnQ6
CisgICAgY2FzZSBQdXRIaW50OgogICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlhdGU6Ci0g
ICAgY2FzZSBQdXRTdHJ1Y3R1cmVIaW50OgogICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6
CiAgICAgICAgIC8vIFRoZXNlIGFyZSBPSy4KICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAkocmV2aXNpb24g
MTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTgyOSw4ICs4MjksNyBAQCBwcml2YXRlOgogICAgICAgICBj
YXNlIE1vdkhpbnQ6CiAgICAgICAgIGNhc2UgWm9tYmllSGludDoKICAgICAgICAgY2FzZSBQaGFu
dG9tTmV3T2JqZWN0OgotICAgICAgICBjYXNlIFB1dEJ5T2Zmc2V0SGludDoKLSAgICAgICAgY2Fz
ZSBQdXRTdHJ1Y3R1cmVIaW50OgorICAgICAgICBjYXNlIFB1dEhpbnQ6CiAgICAgICAgIGNhc2Ug
Qm90dG9tVmFsdWU6CiAgICAgICAgIGNhc2UgS2lsbFN0YWNrOgogICAgICAgICAgICAgYnJlYWs7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248795</attachid>
            <date>2015-03-16 20:33:04 -0700</date>
            <delta_ts>2015-03-17 01:59:41 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>24854</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgxNjA3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDg0IEBA
CisyMDE1LTAzLTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIElSIHNob3VsZG4ndCBoYXZlIGEgc2VwYXJhdGUgbm9kZSBmb3IgZXZlcnkga2luZCBvZiBw
dXQgaGludCB0aGF0IGNvdWxkIGJlIGRlc2NyaWJlZCB1c2luZyBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQyNzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBXaGVuIHdlIHNpbmsgYW4gb2JqZWN0IGFsbG9jYXRpb24sIHdlIG5lZWQgdG8gaGF2
ZSBzb21lIHdheSBvZiB0cmFja2luZyB3aGF0IHN0b3JlcyB3b3VsZAorICAgICAgICBoYXZlIGhh
cHBlbmVkIGhhZCB0aGUgYWxsb2NhdGlvbiBub3QgYmVlbiBzdW5rLCBzbyB0aGF0IHdlIGtub3cg
aG93IHRvIHJlbWF0ZXJpYWxpemUgdGhlCisgICAgICAgIG9iamVjdCBvbiBPU1IgZXhpdC4gUHJp
b3IgdG8gdGhpcyBjaGFuZ2UsIHRydW5rIGhhZCB0d28gd2F5cyBvZiBkZXNjcmliaW5nIHN1Y2gg
YSAicHV0CisgICAgICAgIGhpbnQiOgorICAgICAgICAKKyAgICAgICAgLSBUaGUgUHV0U3RydXR1
cmVIaW50IGFuZCBQdXRCeU9mZnNldEhpbnQgbm9kZSB0eXBlcy4KKyAgICAgICAgLSBUaGUgUHJv
bW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgY2xhc3MsIHdoaWNoIGhhcyBhbiBlbnVtIHdpdGggY2Fz
ZXMgU3RydWN0dXJlUExvYyBhbmQKKyAgICAgICAgICBOYW1lZFByb3BlcnR5UExvYy4KKyAgICAg
ICAgCisgICAgICAgIFdlIGFsc28gaGFkIHdheXMgb2YgY29udmVydGluZyBmcm9tIGEgTm9kZSB3
aXRoIHRob3NlIHR3byBub2RlIHR5cGVzIHRvIGEKKyAgICAgICAgUHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3IsIGFuZCB3ZSBoYWQgYSB3YXkgb2YgY29udmVydGluZyBhIFByb21vdGVkTG9jYXRp
b25EZXNjcmlwdG9yIHRvCisgICAgICAgIGEgTm9kZS4KKyAgICAgICAgCisgICAgICAgIFRoaXMg
Y2hhbmdlIHJlbW92ZXMgdGhlIHJlZHVuZGFuY3kuIFdlIG5vdyBoYXZlIGp1c3Qgb25lIG5vZGUg
dHlwZSB0aGF0IGNvcnJlc3BvbmRzIHRvIGEKKyAgICAgICAgcHV0IGhpbnQsIGFuZCBpdCdzIGNh
bGxlZCBQdXRIaW50LiBJdCBoYXMgYSBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvciBhcyBtZXRh
ZGF0YS4KKyAgICAgICAgQ29udmVydGluZyBiZXR3ZWVuIGEgUHV0SGludCBub2RlIGFuZCBhIFBy
b21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIGFuZCB2aWNlLXZlcnNhIGlzIG5vdworICAgICAgICB0
cml2aWFsLgorICAgICAgICAKKyAgICAgICAgVGhpcyBtZWFucyB0aGF0IGlmIHdlIGFkZCBuZXcg
a2luZHMgb2Ygc3Vua2VuIG9iamVjdHMsIHdlJ2xsIGhhdmUgbGVzcyBwcm8tZm9ybWEgdG8gd3Jp
dGUKKyAgICAgICAgZm9yIHRoZSBwdXQgaGludHMgdG8gdGhvc2Ugb2JqZWN0cy4gVGhpcyBpcyBt
YWlubHkgdG8gc2ltcGxpZnkgdGhlIGltcGxlbWVudGF0aW9uIG9mCisgICAgICAgIGFyZ3VtZW50
cyBlbGltaW5hdGlvbiBpbiBidWcgMTQxMTc0LgorCisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0
SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRlcnBy
ZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBkZmcv
REZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgorICAgICAg
ICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAg
ICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhh
c2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR0dyYXBoLmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpHcmFwaDo6ZHVtcCk6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6Om1lcmdlUmVs
ZXZhbnRUb09TUik6CisgICAgICAgICogZGZnL0RGR01heUV4aXQuY3BwOgorICAgICAgICAoSlND
OjpERkc6Om1heUV4aXQpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpOb2RlOjpjb252ZXJ0VG9QdXRIaW50KToKKyAgICAgICAgKEpTQzo6REZHOjpOb2Rl
Ojpjb252ZXJ0VG9QdXRTdHJ1Y3R1cmVIaW50KToKKyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpj
b252ZXJ0VG9QdXRCeU9mZnNldEhpbnQpOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6OnByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9yKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAg
ICAoSlNDOjpERkc6Ok5vZGU6Omhhc0lkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpERkc6Ok5v
ZGU6Omhhc1Byb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKToKKyAgICAgICAgKEpTQzo6REZHOjpO
b2RlOjpjb252ZXJ0VG9QdXRCeU9mZnNldEhpbnQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpE
Rkc6Ok5vZGU6OmNvbnZlcnRUb1B1dFN0cnVjdHVyZUhpbnQpOiBEZWxldGVkLgorICAgICAgICAq
IGRmZy9ERkdOb2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFs
eXNpc1BoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpMb2NhbE9TUkF2YWlsYWJpbGl0eUNh
bGN1bGF0b3I6OmV4ZWN1dGVOb2RlKToKKyAgICAgICAgKiBkZmcvREZHT2JqZWN0QWxsb2NhdGlv
blNpbmtpbmdQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6T2JqZWN0QWxsb2NhdGlvblNp
bmtpbmdQaGFzZTo6cnVuKToKKyAgICAgICAgKEpTQzo6REZHOjpPYmplY3RBbGxvY2F0aW9uU2lu
a2luZ1BoYXNlOjpsb3dlck5vblJlYWRpbmdPcGVyYXRpb25zT25QaGFudG9tQWxsb2NhdGlvbnMp
OgorICAgICAgICAoSlNDOjpERkc6Ok9iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2U6OmhhbmRs
ZU5vZGUpOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3BhZ2F0
ZSk6CisgICAgICAgICogZGZnL0RGR1Byb21vdGVIZWFwQWNjZXNzLmg6CisgICAgICAgIChKU0M6
OkRGRzo6cHJvbW90ZUhlYXBBY2Nlc3MpOgorICAgICAgICAqIGRmZy9ERkdQcm9tb3RlZEhlYXBM
b2NhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRpb246OmNy
ZWF0ZUhpbnQpOgorICAgICAgICAqIGRmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oOgorICAg
ICAgICAoSlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yOjppbW0xKToKKyAgICAg
ICAgKEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcjo6aW1tMik6CisgICAgICAg
ICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpzYWZlVG9FeGVj
dXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1ZhbGlkYXRlLmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpWYWxpZGF0ZTo6dmFsaWRhdGVDUFMpOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRp
ZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9G
VExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06
OmNvbXBpbGVOb2RlKToKKwogMjAxNS0wMy0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFByb2dyZXNzIHRvd2FyZHMgQ01ha2Ugb24gTWFj
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJ
bmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdEludGVycHJldGVySW5saW5lcy5oCShyZXZpc2lvbiAxODE2MDcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEzMDgsOCArMTMwOCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0
cmFjdFN0YXRlVHkKICAgICAgICAgLy8gVGhpcyBjbGFpbXMgdG8gcmV0dXJuIGJvdHRvbS4KICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIAotICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50OgotICAgIGNh
c2UgUHV0U3RydWN0dXJlSGludDoKKyAgICBjYXNlIFB1dEhpbnQ6CiAgICAgICAgIGJyZWFrOwog
ICAgICAgICAKICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OiB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAkocmV2aXNpb24gMTgxNjA3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5MCw4ICsyOTAsNyBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBu
b2RlCiAgICAgY2FzZSBQcm9maWxlQ29udHJvbEZsb3c6CiAgICAgY2FzZSBTdG9yZUJhcnJpZXI6
CiAgICAgY2FzZSBTdG9yZUJhcnJpZXJXaXRoTnVsbENoZWNrOgotICAgIGNhc2UgUHV0QnlPZmZz
ZXRIaW50OgotICAgIGNhc2UgUHV0U3RydWN0dXJlSGludDoKKyAgICBjYXNlIFB1dEhpbnQ6CiAg
ICAgICAgIHdyaXRlKFNpZGVTdGF0ZSk7CiAgICAgICAgIHJldHVybjsKICAgICAgICAgCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCShyZXZpc2lvbiAxODE2MDcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIwNCw5ICsyMDQsOCBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5v
ZGUpCiAgICAgY2FzZSBDaGVja0JhZENlbGw6CiAgICAgY2FzZSBCb3R0b21WYWx1ZToKICAgICBj
YXNlIFBoYW50b21OZXdPYmplY3Q6Ci0gICAgY2FzZSBQdXRCeU9mZnNldEhpbnQ6CisgICAgY2Fz
ZSBQdXRIaW50OgogICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlhdGU6Ci0gICAgY2FzZSBQ
dXRTdHJ1Y3R1cmVIaW50OgogICAgIGNhc2UgUHV0U3RhY2s6CiAgICAgY2FzZSBLaWxsU3RhY2s6
CiAgICAgY2FzZSBHZXRTdGFjazoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Rml4dXBQaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdGaXh1cFBoYXNlLmNwcAkocmV2aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA2OCw5ICsxMDY4
LDggQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBJZGVudGl0eTogLy8gVGhpcyBzaG91bGQgaGF2
ZSBiZWVuIGNsZWFuZWQgdXAuCiAgICAgICAgIGNhc2UgQm9vbGVhblRvTnVtYmVyOgogICAgICAg
ICBjYXNlIFBoYW50b21OZXdPYmplY3Q6Ci0gICAgICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50Ogor
ICAgICAgICBjYXNlIFB1dEhpbnQ6CiAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVJbW1lZGlh
dGU6Ci0gICAgICAgIGNhc2UgUHV0U3RydWN0dXJlSGludDoKICAgICAgICAgY2FzZSBNYXRlcmlh
bGl6ZU5ld09iamVjdDoKICAgICAgICAgY2FzZSBQdXRTdGFjazoKICAgICAgICAgY2FzZSBLaWxs
U3RhY2s6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkocmV2aXNp
b24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIyMiw2ICsyMjIsOCBAQCB2b2lkIEdyYXBoOjpkdW1wKFByaW50U3Ry
ZWFtJiBvdXQsIGNvbnN0CiAgICAgICAgIG91dC5wcmludChjb21tYSwgImdsb2JhbCIsIGdsb2Jh
bE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5maW5kUmVnaXN0ZXJJbmRleChub2Rl
LT5yZWdpc3RlclBvaW50ZXIoKSksICIoIiwgUmF3UG9pbnRlcihub2RlLT5yZWdpc3RlclBvaW50
ZXIoKSksICIpIik7CiAgICAgaWYgKG5vZGUtPmhhc0lkZW50aWZpZXIoKSkKICAgICAgICAgb3V0
LnByaW50KGNvbW1hLCAiaWQiLCBub2RlLT5pZGVudGlmaWVyTnVtYmVyKCksICJ7IiwgaWRlbnRp
ZmllcnMoKVtub2RlLT5pZGVudGlmaWVyTnVtYmVyKCldLCAifSIpOworICAgIGlmIChub2RlLT5o
YXNQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigpKQorICAgICAgICBvdXQucHJpbnQoY29tbWEs
IG5vZGUtPnByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKCkpOwogICAgIGlmIChub2RlLT5oYXNT
dHJ1Y3R1cmVTZXQoKSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCBpbkNvbnRleHQobm9kZS0+
c3RydWN0dXJlU2V0KCksIGNvbnRleHQpKTsKICAgICBpZiAobm9kZS0+aGFzU3RydWN0dXJlKCkp
CkBAIC01ODUsOCArNTg3LDcgQEAgdm9pZCBHcmFwaDo6bWVyZ2VSZWxldmFudFRvT1NSKCkKICAg
ICAgICAgICAgICAgICBub2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFncyhOb2RlUmVsZXZhbnRUb09T
Uik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgICAg
ICBjYXNlIFB1dFN0cnVjdHVyZUhpbnQ6Ci0gICAgICAgICAgICBjYXNlIFB1dEJ5T2Zmc2V0SGlu
dDoKKyAgICAgICAgICAgIGNhc2UgUHV0SGludDoKICAgICAgICAgICAgICAgICBub2RlLT5jaGls
ZDIoKS0+bWVyZ2VGbGFncyhOb2RlUmVsZXZhbnRUb09TUik7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R01heUV4aXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
TWF5RXhpdC5jcHAJKHJldmlzaW9uIDE4MTYwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTWF5RXhpdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDggKzc2LDcgQEAgYm9vbCBt
YXlFeGl0KEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIFVwc2lsb246CiAgICAg
Y2FzZSBab21iaWVIaW50OgogICAgIGNhc2UgQm90dG9tVmFsdWU6Ci0gICAgY2FzZSBQdXRTdHJ1
Y3R1cmVIaW50OgotICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50OgorICAgIGNhc2UgUHV0SGludDoK
ICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6CiAgICAgY2FzZSBQdXRTdGFjazoKICAgICBjYXNl
IEtpbGxTdGFjazoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmNwcAkocmV2
aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiREZHR3JhcGguaCIK
ICNpbmNsdWRlICJERkdOb2RlQWxsb2NhdG9yLmgiCisjaW5jbHVkZSAiREZHUHJvbW90ZWRIZWFw
TG9jYXRpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgREZHIHsKQEAgLTkzLDYgKzk0LDM2IEBAIHZvaWQgTm9kZTo6Y29udmVydFRvSWRl
bnRpdHkoKQogICAgIHNldFJlc3VsdChyZXN1bHQpOwogfQogCit2b2lkIE5vZGU6OmNvbnZlcnRU
b1B1dEhpbnQoY29uc3QgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIE5v
ZGUqIGJhc2UsIE5vZGUqIHZhbHVlKQoreworICAgIG1fb3AgPSBQdXRIaW50OworICAgIG1fb3BJ
bmZvID0gZGVzY3JpcHRvci5pbW0xKCkubV92YWx1ZTsKKyAgICBtX29wSW5mbzIgPSBkZXNjcmlw
dG9yLmltbTIoKS5tX3ZhbHVlOworICAgIGNoaWxkMSgpID0gYmFzZS0+ZGVmYXVsdEVkZ2UoKTsK
KyAgICBjaGlsZDIoKSA9IHZhbHVlLT5kZWZhdWx0RWRnZSgpOworICAgIGNoaWxkMygpID0gRWRn
ZSgpOworfQorCit2b2lkIE5vZGU6OmNvbnZlcnRUb1B1dFN0cnVjdHVyZUhpbnQoTm9kZSogc3Ry
dWN0dXJlKQoreworICAgIEFTU0VSVChtX29wID09IFB1dFN0cnVjdHVyZSk7CisgICAgQVNTRVJU
KHN0cnVjdHVyZS0+Y2FzdENvbnN0YW50PFN0cnVjdHVyZSo+KCkgPT0gdHJhbnNpdGlvbigpLT5u
ZXh0KTsKKyAgICBjb252ZXJ0VG9QdXRIaW50KFN0cnVjdHVyZVBMb2MsIGNoaWxkMSgpLm5vZGUo
KSwgc3RydWN0dXJlKTsKK30KKwordm9pZCBOb2RlOjpjb252ZXJ0VG9QdXRCeU9mZnNldEhpbnQo
KQoreworICAgIEFTU0VSVChtX29wID09IFB1dEJ5T2Zmc2V0KTsKKyAgICBjb252ZXJ0VG9QdXRI
aW50KAorICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcihOYW1lZFByb3BlcnR5UExv
Yywgc3RvcmFnZUFjY2Vzc0RhdGEoKS5pZGVudGlmaWVyTnVtYmVyKSwKKyAgICAgICAgY2hpbGQy
KCkubm9kZSgpLCBjaGlsZDMoKS5ub2RlKCkpOworfQorCitQcm9tb3RlZExvY2F0aW9uRGVzY3Jp
cHRvciBOb2RlOjpwcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcigpCit7CisgICAgcmV0dXJuIFBy
b21vdGVkTG9jYXRpb25EZXNjcmlwdG9yKHN0YXRpY19jYXN0PFByb21vdGVkTG9jYXRpb25LaW5k
PihtX29wSW5mbyksIG1fb3BJbmZvMik7Cit9CisKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcK
IAogbmFtZXNwYWNlIFdURiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAko
cmV2aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3Bh
Y2UgREZHIHsKIAogY2xhc3MgR3JhcGg7CitjbGFzcyBQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRv
cjsKIHN0cnVjdCBCYXNpY0Jsb2NrOwogCiBzdHJ1Y3QgU3RvcmFnZUFjY2Vzc0RhdGEgewpAQCAt
NTU3LDI0ICs1NTgsMTAgQEAgc3RydWN0IE5vZGUgewogICAgICAgICBtX29wID0gTXVsdGlQdXRC
eU9mZnNldDsKICAgICB9CiAgICAgCi0gICAgdm9pZCBjb252ZXJ0VG9QdXRCeU9mZnNldEhpbnQo
KQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fb3AgPT0gUHV0QnlPZmZzZXQpOwotICAgICAgICBt
X29wSW5mbyA9IHN0b3JhZ2VBY2Nlc3NEYXRhKCkuaWRlbnRpZmllck51bWJlcjsKLSAgICAgICAg
bV9vcCA9IFB1dEJ5T2Zmc2V0SGludDsKLSAgICAgICAgY2hpbGQxKCkgPSBjaGlsZDIoKTsKLSAg
ICAgICAgY2hpbGQyKCkgPSBjaGlsZDMoKTsKLSAgICAgICAgY2hpbGQzKCkgPSBFZGdlKCk7Ci0g
ICAgfQorICAgIHZvaWQgY29udmVydFRvUHV0SGludChjb25zdCBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvciYsIE5vZGUqIGJhc2UsIE5vZGUqIHZhbHVlKTsKICAgICAKLSAgICB2b2lkIGNvbnZl
cnRUb1B1dFN0cnVjdHVyZUhpbnQoTm9kZSogc3RydWN0dXJlKQotICAgIHsKLSAgICAgICAgQVNT
RVJUKG1fb3AgPT0gUHV0U3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+Y2Fz
dENvbnN0YW50PFN0cnVjdHVyZSo+KCkgPT0gdHJhbnNpdGlvbigpLT5uZXh0KTsKLSAgICAgICAg
bV9vcCA9IFB1dFN0cnVjdHVyZUhpbnQ7Ci0gICAgICAgIG1fb3BJbmZvID0gMDsKLSAgICAgICAg
Y2hpbGQyKCkgPSBFZGdlKHN0cnVjdHVyZSwgS25vd25DZWxsVXNlKTsKLSAgICB9CisgICAgdm9p
ZCBjb252ZXJ0VG9QdXRCeU9mZnNldEhpbnQoKTsKKyAgICB2b2lkIGNvbnZlcnRUb1B1dFN0cnVj
dHVyZUhpbnQoTm9kZSogc3RydWN0dXJlKTsKICAgICAKICAgICB2b2lkIGNvbnZlcnRUb1BoYW50
b21OZXdPYmplY3QoKQogICAgIHsKQEAgLTgzMCw3ICs4MTcsNiBAQCBzdHJ1Y3QgTm9kZSB7CiAg
ICAgICAgIGNhc2UgUHV0QnlJZDoKICAgICAgICAgY2FzZSBQdXRCeUlkRmx1c2g6CiAgICAgICAg
IGNhc2UgUHV0QnlJZERpcmVjdDoKLSAgICAgICAgY2FzZSBQdXRCeU9mZnNldEhpbnQ6CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKQEAgLTg0Myw2ICs4MjksMTMgQEAgc3RydWN0IE5vZGUgewogICAgICAgICByZXR1
cm4gbV9vcEluZm87CiAgICAgfQogICAgIAorICAgIGJvb2wgaGFzUHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3IoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG9wKCkgPT0gUHV0SGludDsKKyAgICB9
CisgICAgCisgICAgUHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IgcHJvbW90ZWRMb2NhdGlvbkRl
c2NyaXB0b3IoKTsKKyAgICAKICAgICAvLyBUaGlzIGNvcnJlY3RzIHRoZSBhcml0aG1ldGljIG5v
ZGUgZmxhZ3MsIHNvIHRoYXQgaXJyZWxldmFudCBiaXRzIGFyZQogICAgIC8vIGlnbm9yZWQuIElu
IHBhcnRpY3VsYXIsIGFueXRoaW5nIG90aGVyIHRoYW4gQXJpdGhNdWwgZG9lcyBub3QgbmVlZAog
ICAgIC8vIHRvIGtub3cgaWYgaXQgY2FuIHNwZWN1bGF0ZSBvbiBuZWdhdGl2ZSB6ZXJvLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAkocmV2aXNpb24gMTgxNjA3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yMzcsOSArMjM3LDggQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewog
ICAgIFwKICAgICAvKiBTdXBwb3J0IGZvciBhbGxvY2F0aW9uIHNpbmtpbmcuICovXAogICAgIG1h
Y3JvKFBoYW50b21OZXdPYmplY3QsIE5vZGVSZXN1bHRKUykgXAotICAgIG1hY3JvKFB1dEJ5T2Zm
c2V0SGludCwgTm9kZU11c3RHZW5lcmF0ZSkgXAorICAgIG1hY3JvKFB1dEhpbnQsIE5vZGVNdXN0
R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja1N0cnVjdHVyZUltbWVkaWF0ZSwgTm9kZU11c3RH
ZW5lcmF0ZSkgXAotICAgIG1hY3JvKFB1dFN0cnVjdHVyZUhpbnQsIE5vZGVNdXN0R2VuZXJhdGUp
IFwKICAgICBtYWNybyhNYXRlcmlhbGl6ZU5ld09iamVjdCwgTm9kZVJlc3VsdEpTIHwgTm9kZUhh
c1ZhckFyZ3MpIFwKICAgICBcCiAgICAgLyogTm9kZXMgZm9yIG1pc2Mgb3BlcmF0aW9ucy4gKi9c
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJpbGl0eUFuYWx5
c2lzUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAJKHJldmlzaW9uIDE4MTYwNykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NiwxNiArMTY2LDE2IEBAIHZvaWQgTG9jYWxPU1JBdmFp
bGFiaWxpdHlDYWxjdWxhdG9yOjpleGUKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgICAgICAK
KyAgICBjYXNlIFB1dEhpbnQ6IHsKKyAgICAgICAgbV9hdmFpbGFiaWxpdHkubV9oZWFwLnNldCgK
KyAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSwg
bm9kZS0+cHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoKSksCisgICAgICAgICAgICBBdmFpbGFi
aWxpdHkobm9kZS0+Y2hpbGQyKCkubm9kZSgpKSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAg
ICAgICAgCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIAotICAgIHBy
b21vdGVIZWFwQWNjZXNzKAotICAgICAgICBub2RlLAotICAgICAgICBbJl0gKFByb21vdGVkSGVh
cExvY2F0aW9uIGxvY2F0aW9uLCBFZGdlIHZhbHVlKSB7Ci0gICAgICAgICAgICBtX2F2YWlsYWJp
bGl0eS5tX2hlYXAuc2V0KGxvY2F0aW9uLCBBdmFpbGFiaWxpdHkodmFsdWUubm9kZSgpKSk7Ci0g
ICAgICAgIH0sCi0gICAgICAgIFsmXSAoUHJvbW90ZWRIZWFwTG9jYXRpb24pIHsgfSk7CiB9CiAK
IH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNw
cAkocmV2aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmpl
Y3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzIsMTAgKzcyLDEw
IEBAIHB1YmxpYzoKICAgICAgICAgLy8gICB0aGF0IHdvdWxkIHNlZSBhbnkgb3RoZXIgZXNjYXBl
LiBOb3RlIHRoYXQgVXBzaWxvbnMgY29uc3RpdHV0ZSBlc2NhcGluZyBzaXRlcy4gVGhlbiB3ZQog
ICAgICAgICAvLyAgIGluc2VydCBhZGRpdGlvbmFsIE1hdGVyaWFsaXplTmV3T2JqZWN0IG5vZGVz
IG9uIFVwc2lsb25zIHRoYXQgZmVlZCBpbnRvIFBoaXMgdGhhdCBtaXgKICAgICAgICAgLy8gICBt
YXRlcmlhbGl6YXRpb25zIGFuZCB0aGUgb3JpZ2luYWwgUGhhbnRvbU5ld09iamVjdC4gV2UgdGhl
biB0dXJuIGVhY2ggUHV0QnlPZmZzZXQgb3ZlciBhCi0gICAgICAgIC8vICAgUGhhbnRvbU5ld09i
amVjdCBpbnRvIGEgUHV0QnlPZmZzZXRIaW50LgorICAgICAgICAvLyAgIFBoYW50b21OZXdPYmpl
Y3QgaW50byBhIFB1dEhpbnQuCiAgICAgICAgIC8vCiAgICAgICAgIC8vIC0gV2UgcGVyZm9ybSB0
aGUgc2FtZSBvcHRpbWl6YXRpb24gZm9yIE1hdGVyaWFsaXplTmV3T2JqZWN0LiBUaGlzIGFsbG93
cyB1cyB0byBjb3ZlcgotICAgICAgICAvLyAgIGNhc2VzIHdoZXJlIHdlIGhhZCBNYXRlcmlhbGl6
ZU5ld09iamVjdCBmbG93aW5nIGludG8gYSBQdXRCeU9mZnNldEhpbnQuCisgICAgICAgIC8vICAg
Y2FzZXMgd2hlcmUgd2UgaGFkIE1hdGVyaWFsaXplTmV3T2JqZWN0IGZsb3dpbmcgaW50byBhIFB1
dEhpbnQuCiAgICAgICAgIC8vCiAgICAgICAgIC8vIFdlIGNvdWxkIGFsc28gYWRkIHRoaXMgcnVs
ZToKICAgICAgICAgLy8KQEAgLTUyNyw5ICs1MjcsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgIE5vZGUqIHN0cnVjdHVyZSA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydENv
bnN0YW50KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsIG5vZGUt
Pm9yaWdpbiwgSlNWYWx1ZShub2RlLT5zdHJ1Y3R1cmUoKSkpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBub2RlSW5kZXggKyAxLCBTcGVjTm9uZSwgUHV0U3RydWN0dXJlSGludCwgbm9kZS0+b3Jp
Z2luLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVkZ2Uobm9kZSwgS25vd25DZWxsVXNl
KSwgRWRnZShzdHJ1Y3R1cmUsIEtub3duQ2VsbFVzZSkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5v
ZGVJbmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9j
YXRpb24oU3RydWN0dXJlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBzdHJ1Y3R1cmUpKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21OZXdPYmplY3QoKTsKICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTUzNywx
MyArNTM4LDE5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgIGNhc2UgTWF0ZXJpYWxpemVOZXdPYmplY3Q6IHsKICAgICAgICAgICAgICAgICAgICAgaWYg
KG1fc2lua0NhbmRpZGF0ZXMuY29udGFpbnMobm9kZSkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbm9kZUluZGV4ICsgMSwgU3BlY05vbmUsIFB1dFN0cnVjdHVyZUhpbnQsIG5vZGUtPm9yaWdp
biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZGdlKG5vZGUsIEtub3duQ2VsbFVzZSks
IG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCkpOworICAgICAgICAgICAgICAgICAgICAgICAg
bV9pbnNlcnRpb25TZXQuaW5zZXJ0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJ
bmRleCArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRp
b24oU3RydWN0dXJlUExvYywgbm9kZSkuY3JlYXRlSGludCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaCwgbm9kZS0+b3JpZ2luLCBtX2dyYXBoLnZhckFyZ0NoaWxkKG5v
ZGUsIDApLm5vZGUoKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IG5vZGUtPm9iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEoKS5tX3Byb3BlcnRpZXMu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNl
dC5pbnNlcnROb2RlKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXgg
KyAxLCBTcGVjTm9uZSwgUHV0QnlPZmZzZXRIaW50LCBub2RlLT5vcmlnaW4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVkZ2Uobm9kZSwgS25vd25DZWxsVXNlKSwgbV9ncmFwaC52
YXJBcmdDaGlsZChub2RlLCBpICsgMSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBub2RlLT5vYmplY3RNYXRlcmlhbGl6YXRpb25EYXRhKCkubV9wcm9wZXJ0aWVzW2ldLm1faWRl
bnRpZmllck51bWJlcjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNl
dC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJbmRleCArIDEs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZWRQcm9wZXJ0eVBMb2MsIG5v
ZGUsIGlkZW50aWZpZXJOdW1iZXIpLmNyZWF0ZUhpbnQoCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5vcmlnaW4sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIGkgKyAxKS5ub2RlKCkp
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIG5v
ZGUtPmNvbnZlcnRUb1BoYW50b21OZXdPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgfQpA
QCAtNzYyLDcgKzc2OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgSGFyZFBoYW50b206CiAg
ICAgICAgIGNhc2UgU3RvcmVCYXJyaWVyOgogICAgICAgICBjYXNlIFN0b3JlQmFycmllcldpdGhO
dWxsQ2hlY2s6Ci0gICAgICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50OgorICAgICAgICBjYXNlIFB1
dEhpbnQ6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIFB1
dEJ5T2Zmc2V0OgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9u
UHJvcGFnYXRpb25QaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAJKHJldmlzaW9uIDE4MTYwNykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDIsOSArNTQyLDggQEAgcHJpdmF0ZToKICAgICAg
ICAgY2FzZSBJZGVudGl0eToKICAgICAgICAgY2FzZSBCb29sZWFuVG9OdW1iZXI6CiAgICAgICAg
IGNhc2UgUGhhbnRvbU5ld09iamVjdDoKLSAgICAgICAgY2FzZSBQdXRCeU9mZnNldEhpbnQ6Cisg
ICAgICAgIGNhc2UgUHV0SGludDoKICAgICAgICAgY2FzZSBDaGVja1N0cnVjdHVyZUltbWVkaWF0
ZToKLSAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmVIaW50OgogICAgICAgICBjYXNlIE1hdGVyaWFs
aXplTmV3T2JqZWN0OgogICAgICAgICBjYXNlIFB1dFN0YWNrOgogICAgICAgICBjYXNlIEtpbGxT
dGFjazoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZUhlYXBBY2Nl
c3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVI
ZWFwQWNjZXNzLmgJKHJldmlzaW9uIDE4MTYwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHUHJvbW90ZUhlYXBBY2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzMsOCArMzMsNiBAQAog
CiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKLS8vIE5vdGUgdGhhdCB0aGUgd3Jp
dGUgZnVuY3RvciBpcyByZWFsbHkgdGhlIHVzZWZ1bCB0aGluZyBoZXJlLiBUaGUgcmVhZCBmdW5j
dG9yIGlzIG9ubHkgdXNlZnVsCi0vLyBmb3IgdGhlIG9iamVjdCBhbGxvY2F0aW9uIHNpbmtpbmcg
cGhhc2UuCiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcml0ZUZ1bmN0b3IsIHR5cGVuYW1lIFJlYWRGdW5j
dG9yPgogdm9pZCBwcm9tb3RlSGVhcEFjY2VzcyhOb2RlKiBub2RlLCBjb25zdCBXcml0ZUZ1bmN0
b3ImIHdyaXRlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCkKIHsKQEAgLTYxLDE4ICs1OSwxMSBA
QCB2b2lkIHByb21vdGVIZWFwQWNjZXNzKE5vZGUqIG5vZGUsIGNvbnN0CiAgICAgICAgIH0KICAg
ICAgICAgYnJlYWs7CiAgICAgfQotCi0gICAgY2FzZSBQdXRTdHJ1Y3R1cmVIaW50OiB7Ci0gICAg
ICAgIEFTU0VSVChub2RlLT5jaGlsZDEoKS0+aXNQaGFudG9tT2JqZWN0QWxsb2NhdGlvbigpKTsK
LSAgICAgICAgd3JpdGUoUHJvbW90ZWRIZWFwTG9jYXRpb24oU3RydWN0dXJlUExvYywgbm9kZS0+
Y2hpbGQxKCkpLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAg
IGNhc2UgUHV0QnlPZmZzZXRIaW50OiB7CisgICAgICAgIAorICAgIGNhc2UgUHV0SGludDogewog
ICAgICAgICBBU1NFUlQobm9kZS0+Y2hpbGQxKCktPmlzUGhhbnRvbU9iamVjdEFsbG9jYXRpb24o
KSk7Ci0gICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIgPSBub2RlLT5pZGVudGlmaWVy
TnVtYmVyKCk7CiAgICAgICAgIHdyaXRlKAotICAgICAgICAgICAgUHJvbW90ZWRIZWFwTG9jYXRp
b24oTmFtZWRQcm9wZXJ0eVBMb2MsIG5vZGUtPmNoaWxkMSgpLCBpZGVudGlmaWVyTnVtYmVyKSwK
KyAgICAgICAgICAgIFByb21vdGVkSGVhcExvY2F0aW9uKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSwg
bm9kZS0+cHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3IoKSksCiAgICAgICAgICAgICBub2RlLT5j
aGlsZDIoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uY3BwCShyZXZpc2lv
biAxODE2MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExv
Y2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsMjMgKzQwLDkgQEAgdm9pZCBQcm9tb3Rl
ZExvY2F0aW9uRGVzY3JpcHRvcjo6ZHVtcChQcgogCiBOb2RlKiBQcm9tb3RlZEhlYXBMb2NhdGlv
bjo6Y3JlYXRlSGludChHcmFwaCYgZ3JhcGgsIE5vZGVPcmlnaW4gb3JpZ2luLCBOb2RlKiB2YWx1
ZSkKIHsKLSAgICBzd2l0Y2ggKGtpbmQoKSkgewotICAgIGNhc2UgU3RydWN0dXJlUExvYzoKLSAg
ICAgICAgcmV0dXJuIGdyYXBoLmFkZE5vZGUoCi0gICAgICAgICAgICBTcGVjTm9uZSwgUHV0U3Ry
dWN0dXJlSGludCwgb3JpZ2luLAotICAgICAgICAgICAgRWRnZShiYXNlKCksIEtub3duQ2VsbFVz
ZSksIEVkZ2UodmFsdWUsIEtub3duQ2VsbFVzZSkpOwotICAgICAgICAKLSAgICBjYXNlIE5hbWVk
UHJvcGVydHlQTG9jOgotICAgICAgICByZXR1cm4gZ3JhcGguYWRkTm9kZSgKLSAgICAgICAgICAg
IFNwZWNOb25lLCBQdXRCeU9mZnNldEhpbnQsIG9yaWdpbiwKLSAgICAgICAgICAgIE9wSW5mbyhp
bmZvKCkpLCBFZGdlKGJhc2UoKSwgS25vd25DZWxsVXNlKSwgRWRnZSh2YWx1ZSwgVW50eXBlZFVz
ZSkpOwotICAgICAgICAKLSAgICBjYXNlIEludmFsaWRQcm9tb3RlZExvY2F0aW9uS2luZDoKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAotICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGdyYXBoLmFkZE5v
ZGUoCisgICAgICAgIFNwZWNOb25lLCBQdXRIaW50LCBvcmlnaW4sIE9wSW5mbyhkZXNjcmlwdG9y
KCkuaW1tMSgpKSwgT3BJbmZvKGRlc2NyaXB0b3IoKS5pbW0yKCkpLAorICAgICAgICBiYXNlKCkt
PmRlZmF1bHRFZGdlKCksIHZhbHVlLT5kZWZhdWx0RWRnZSgpKTsKIH0KIAogdm9pZCBQcm9tb3Rl
ZEhlYXBMb2NhdGlvbjo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaAko
cmV2aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3Rl
ZEhlYXBMb2NhdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw2ICs1NCw5IEBAIHB1YmxpYzoK
ICAgICBQcm9tb3RlZExvY2F0aW9uS2luZCBraW5kKCkgY29uc3QgeyByZXR1cm4gbV9raW5kOyB9
CiAgICAgdW5zaWduZWQgaW5mbygpIGNvbnN0IHsgcmV0dXJuIG1faW5mbzsgfQogICAgIAorICAg
IE9wSW5mbyBpbW0xKCkgY29uc3QgeyByZXR1cm4gT3BJbmZvKHN0YXRpY19jYXN0PHVpbnQzMl90
PihtX2tpbmQpKTsgfQorICAgIE9wSW5mbyBpbW0yKCkgY29uc3QgeyByZXR1cm4gT3BJbmZvKHN0
YXRpY19jYXN0PHVpbnQzMl90PihtX2luZm8pKTsgfQorICAgIAogICAgIHVuc2lnbmVkIGhhc2go
KSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fa2luZCArIG1faW5mbzsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCShyZXZpc2lvbiAx
ODE2MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMjc3LDkgKzI3Nyw4IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0
cmFjdFN0YXRlVHlwZSYgc3QKICAgICBjYXNlIEdldEVudW1lcmF0b3JQbmFtZToKICAgICBjYXNl
IFRvSW5kZXhTdHJpbmc6CiAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OgotICAgIGNhc2UgUHV0
QnlPZmZzZXRIaW50OgorICAgIGNhc2UgUHV0SGludDoKICAgICBjYXNlIENoZWNrU3RydWN0dXJl
SW1tZWRpYXRlOgotICAgIGNhc2UgUHV0U3RydWN0dXJlSGludDoKICAgICBjYXNlIE1hdGVyaWFs
aXplTmV3T2JqZWN0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCShyZXZp
c2lvbiAxODE2MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MDkyLDkgKzUwOTIsOCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBDaGVja0JhZENlbGw6
CiAgICAgY2FzZSBCb3R0b21WYWx1ZToKICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6Ci0gICAg
Y2FzZSBQdXRCeU9mZnNldEhpbnQ6CisgICAgY2FzZSBQdXRIaW50OgogICAgIGNhc2UgQ2hlY2tT
dHJ1Y3R1cmVJbW1lZGlhdGU6Ci0gICAgY2FzZSBQdXRTdHJ1Y3R1cmVIaW50OgogICAgIGNhc2Ug
TWF0ZXJpYWxpemVOZXdPYmplY3Q6CiAgICAgY2FzZSBQdXRTdGFjazoKICAgICBjYXNlIEtpbGxT
dGFjazoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTE2Myw5ICs1
MTYzLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIGNh
c2UgQ2hlY2tCYWRDZWxsOgogICAgIGNhc2UgQm90dG9tVmFsdWU6CiAgICAgY2FzZSBQaGFudG9t
TmV3T2JqZWN0OgotICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50OgorICAgIGNhc2UgUHV0SGludDoK
ICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRpYXRlOgotICAgIGNhc2UgUHV0U3RydWN0dXJl
SGludDoKICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAgIGNhc2UgUHV0U3RhY2s6
CiAgICAgY2FzZSBLaWxsU3RhY2s6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ZhbGlkYXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ZhbGlkYXRlLmNwcAkocmV2aXNpb24gMTgxNjA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdWYWxpZGF0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzOCw5ICs0MzgsOCBAQCBw
cml2YXRlOgogICAgICAgICAgICAgICAgIGNhc2UgVXBzaWxvbjoKICAgICAgICAgICAgICAgICBj
YXNlIENoZWNrSW5Cb3VuZHM6CiAgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0
OgotICAgICAgICAgICAgICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50OgorICAgICAgICAgICAgICAg
IGNhc2UgUHV0SGludDoKICAgICAgICAgICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRp
YXRlOgotICAgICAgICAgICAgICAgIGNhc2UgUHV0U3RydWN0dXJlSGludDoKICAgICAgICAgICAg
ICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0OgogICAgICAgICAgICAgICAgIGNhc2UgUHV0
U3RhY2s6CiAgICAgICAgICAgICAgICAgY2FzZSBLaWxsU3RhY2s6CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCShyZXZpc2lvbiAxODE2MDcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE3Nyw5ICsxNzcsOCBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNv
bXBpbGUoTm9kZSogCiAgICAgY2FzZSBUb0luZGV4U3RyaW5nOgogICAgIGNhc2UgQm90dG9tVmFs
dWU6CiAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OgotICAgIGNhc2UgUHV0QnlPZmZzZXRIaW50
OgorICAgIGNhc2UgUHV0SGludDoKICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRpYXRlOgot
ICAgIGNhc2UgUHV0U3RydWN0dXJlSGludDoKICAgICBjYXNlIE1hdGVyaWFsaXplTmV3T2JqZWN0
OgogICAgICAgICAvLyBUaGVzZSBhcmUgT0suCiAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9u
IDE4MTYwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MjksOCArODI5LDcgQEAgcHJpdmF0ZToKICAgICAgICAg
Y2FzZSBNb3ZIaW50OgogICAgICAgICBjYXNlIFpvbWJpZUhpbnQ6CiAgICAgICAgIGNhc2UgUGhh
bnRvbU5ld09iamVjdDoKLSAgICAgICAgY2FzZSBQdXRCeU9mZnNldEhpbnQ6Ci0gICAgICAgIGNh
c2UgUHV0U3RydWN0dXJlSGludDoKKyAgICAgICAgY2FzZSBQdXRIaW50OgogICAgICAgICBjYXNl
IEJvdHRvbVZhbHVlOgogICAgICAgICBjYXNlIEtpbGxTdGFjazoKICAgICAgICAgICAgIGJyZWFr
Owo=
</data>
<flag name="review"
          id="273669"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>