<?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>99261</bug_id>
          
          <creation_ts>2012-10-13 23:07:46 -0700</creation_ts>
          <short_desc>Baseline array profiling should be less accurate, and DFG OSR exit should update array profiles on CheckArray and CheckStructure failure</short_desc>
          <delta_ts>2012-10-19 12:47:13 -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>
          <dependson>98997</dependson>
          <blocked>98606</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>741550</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-10-13 23:07:46 -0700</bug_when>
    <thetext>This would make our various mechanisms of array speculation work as well as all of our other speculation modes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741629</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-10-14 16:32:37 -0700</bug_when>
    <thetext>It appears that this might just work already.  If we exit due to an invalid structure on an array access, then the baseline JIT will log *only* the invalid structure(s) in the array profile.  Subsequent recompiles will see only one of the invalid structures, and LUBing will conclude that the structure has gone polymorphic.

I will keep this open for now, but I suspect that this is not really a bug.  I mean, it could be good to unify how speculations work and make everything use OSR exit profiling, but this doesn&apos;t really smell like a bug right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745581</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-10-18 14:29:30 -0700</bug_when>
    <thetext>Actually.  Right now array profiles are too accurate.  They will catch *every* array type that flows through them, when what we really want is for them to catch the high probability array types.  Renaming the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745618</commentid>
    <comment_count>3</comment_count>
      <attachid>169483</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-10-18 15:15:03 -0700</bug_when>
    <thetext>Created attachment 169483
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746555</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-10-19 12:47:13 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/131868</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169483</attachid>
            <date>2012-10-18 15:15:03 -0700</date>
            <delta_ts>2012-10-18 15:17:42 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>inaccurate_1.patch</filename>
            <type>text/plain</type>
            <size>23523</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTMxODEyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBA
CisyMDEyLTEwLTE4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QmFzZWxpbmUgYXJyYXkgcHJvZmlsaW5nIHNob3VsZCBiZSBsZXNzIGFjY3VyYXRlLCBhbmQgREZH
IE9TUiBleGl0IHNob3VsZCB1cGRhdGUgYXJyYXkgcHJvZmlsZXMgb24gQ2hlY2tBcnJheSBhbmQg
Q2hlY2tTdHJ1Y3R1cmUgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTkyNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIG1ha2VzIGFycmF5IHByb2ZpbGluZyBzdG9jaGFzdGljLCBsaWtl
IHZhbHVlIHByb2ZpbGluZy4gVGhlIHBvaW50IGlzIHRvIGF2b2lkCisgICAgICAgIG5vdGljaW5n
IG9uZS1vZmYgaW5kZXhpbmcgdHlwZXMgdGhhdCB3ZSdsbCBuZXZlciBzZWUgYWdhaW4sIGJ1dCBp
bnN0ZWFkIHRvOgorICAgICAgICAKKyAgICAgICAgTm90aWNlIHRoZSBiaWcgb25lczogV2Ugd2Fu
dCB0aGUgREZHIHRvIGNvbXBpbGUgYmFzZWQgb24gdGhlIHRoaW5ncyB0aGF0IGhhcHBlbiB3aXRo
CisgICAgICAgIGhpZ2ggcHJvYmFiaWxpdHkuIFNvLCB0aGlzIGNoYW5nZSBtYWtlcyBhcnJheSBw
cm9maWxpbmcgZG8gbGlrZSB2YWx1ZSBwcm9maWxpbmcgYW5kCisgICAgICAgIG9ubHkgbm90aWNl
IGEgcmFuZG9tIHN1YnNhbXBsaW5nIG9mIGluZGV4aW5nIHR5cGVzIHRoYXQgZmxvd2VkIHRocm91
Z2ggYW4gYXJyYXkKKyAgICAgICAgYWNjZXNzLiBQcmlvciB0byB0aGlzIHBhdGNoIGFycmF5IHBy
b2ZpbGVzIG5vdGljZWQgYWxsIGluZGV4aW5nIHR5cGVzIGFuZCB3ZWlnaHRlZAorICAgICAgICB0
aGVtIGlkZW50aWNhbGx5LgorICAgICAgICAKKyAgICAgICAgQmlhcyB0aGUgcmVjZW50OiBPZnRl
biBhbiBhcnJheSBhY2Nlc3Mgd2lsbCBzZWUgYXdrd2FyZCBpbmRleGluZyB0eXBlcyBkdXJpbmcg
dGhlCisgICAgICAgIGZpcnN0IGhhbmRmdWwgb2YgZXhlY3V0aW9ucyBiZWNhdXNlIG9mIGFydGlm
YWN0cyBvZiBwcm9ncmFtIHN0YXJ0dXAuIFNvLCB3ZSB3YW50IHRvCisgICAgICAgIGJpYXMgdG93
YXJkcyB0aGUgaW5kZXhpbmcgdHlwZXMgdGhhdCB3ZSBzYXcgbW9zdCByZWNlbnRseS4gV2l0aCB0
aGlzIGNoYW5nZSwgYXJyYXkKKyAgICAgICAgcHJvZmlsaW5nIGRvZXMgbGlrZSB2YWx1ZSBwcm9m
aWxpbmcgYW5kIHVzdWFsbHkgdGVsbHMgdXNlIGEgcmFuZG9tIHNhbXBsaW5nIHRoYXQKKyAgICAg
ICAgaXMgYmlhc2VkIHRvIHdoYXQgaGFwcGVuZWQgcmVjZW50bHkuCisgICAgICAgIAorICAgICAg
ICBIYXZlIGEgYmFja3VwIHBsYW46IFRoZSBhYm92ZSB0d28gdGhpbmdzIGRvbid0IHdvcmsgYnkg
dGhlbXNlbHZlcyBiZWNhdXNlIG91cgorICAgICAgICByYW5kb21uZXNzIGlzIG5vdCB0aGF0IHJh
bmRvbSAobm9yIGRvIHdlIGNhcmUgZW5vdWdoIHRvIG1ha2UgaXQgbW9yZSByYW5kb20pLCBhbmQK
KyAgICAgICAgYmVjYXVzZSBzb21lIHByb2NlZHVyZXMgd2lsbCBoYXZlIGEgPDEvMTAgcHJvYmFi
aWxpdHkgZXZlbnQgdGhhdCB3ZSBtdXN0IGhhbmRsZQorICAgICAgICB3aXRob3V0IGJhaWxpbmcg
YmVjYXVzZSBpdCBkb21pbmF0ZXMgYSBob3QgbG9vcC4gU28sIGxpa2UgdmFsdWUgcHJvZmlsaW5n
LCB0aGlzCisgICAgICAgIHBhdGNoIG1ha2VzIGFycmF5IHByb2ZpbGluZyB1c2UgT1NSIGV4aXRz
IHRvIHRlbGwgdXMgd2h5IHdlIGFyZSBiYWlsaW5nIG91dCwgc28KKyAgICAgICAgdGhhdCB3ZSBk
b24ndCBtYWtlIHRoZSBzYW1lIG1pc3Rha2UgYWdhaW4gaW4gdGhlIGZ1dHVyZS4KKyAgICAgICAg
CisgICAgICAgIFRoaXMgY2hhbmdlIGFsc28gbWFrZXMgdGhlIHdheSB0aGF0IHRoZSAzMi1iaXQg
T1NSIGV4aXQgY29tcGlsZXIgc25hdGNoZXMgc2NyYXRjaAorICAgICAgICByZWdpc3RlcnMgbW9y
ZSB1bmlmb3JtLiBXZSBkb24ndCBuZWVkIGEgc2NyYXRjaCBidWZmZXIgd2hlbiB3ZSBjYW4gcHVz
aCBhbmQgcG9wLgorCisgICAgICAgICogYnl0ZWNvZGUvREZHRXhpdFByb2ZpbGUuaDoKKyAgICAg
ICAgKiBkZmcvREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
Ok9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQpOgorICAgICAgICAqIGRmZy9ERkdPU1JFeGl0
Q29tcGlsZXI2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdENvbXBpbGVyOjpjb21w
aWxlRXhpdCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2hlY2tBcnJheSk6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmFycmF5aWZ5KToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogaml0L0pJVElubGlu
ZU1ldGhvZHMuaDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0QXJyYXlQcm9maWxpbmdTaXRlKToK
KyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKwogMjAxMi0xMC0xOCAg
Um9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQu
IEJ1aWxkIGZpeCBhZnRlciByMTMxNzAxIGFuZCByMTMxNzc3LgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0RGR0V4aXRQcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RGR0V4aXRQcm9maWxlLmgJKHJldmlzaW9uIDEzMTcw
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIGVudW0gRXhpdEtpbmQgewogICAgIEV4aXRL
aW5kVW5zZXQsCiAgICAgQmFkVHlwZSwgLy8gV2UgZXhpdGVkIGJlY2F1c2UgYSB0eXBlIHByZWRp
Y3Rpb24gd2FzIHdyb25nLgogICAgIEJhZENhY2hlLCAvLyBXZSBleGl0ZWQgYmVjYXVzZSBhbiBp
bmxpbmUgY2FjaGUgd2FzIHdyb25nLgorICAgIEJhZEluZGV4aW5nVHlwZSwgLy8gV2UgZXhpdGVk
IGJlY2F1c2UgYW4gaW5kZXhpbmcgdHlwZSB3YXMgd3JvbmcuCiAgICAgT3ZlcmZsb3csIC8vIFdl
IGV4aXRlZCBiZWNhdXNlIG9mIG92ZXJmbG93LgogICAgIE5lZ2F0aXZlWmVybywgLy8gV2UgZXhp
dGVkIGJlY2F1c2Ugd2UgZW5jb3VudGVyZWQgbmVnYXRpdmUgemVyby4KICAgICBPdXRPZkJvdW5k
cywgLy8gV2UgaGFkIGFuIG91dC1vZi1ib3VuZHMgYWNjZXNzIHRvIGFuIGFycmF5LgpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIz
Ml82NC5jcHAJKHJldmlzaW9uIDEzMTcwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MywyOCArODMs
ODUgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogCiAgICAgLy8g
MykgUmVmaW5lIHNvbWUgdmFsdWUgcHJvZmlsZSwgaWYgYXBwcm9wcmlhdGUuCiAgICAgCi0gICAg
aWYgKCEhZXhpdC5tX2pzVmFsdWVTb3VyY2UgJiYgISFleGl0Lm1fdmFsdWVQcm9maWxlKSB7Ci0g
ICAgICAgIEVuY29kZWRKU1ZhbHVlKiBidWNrZXQgPSBleGl0Lm1fdmFsdWVQcm9maWxlLmdldFNw
ZWNGYWlsQnVja2V0KDApOworICAgIGlmICghIWV4aXQubV9qc1ZhbHVlU291cmNlKSB7CisgICAg
ICAgIGlmIChleGl0Lm1fa2luZCA9PSBCYWRDYWNoZSB8fCBleGl0Lm1fa2luZCA9PSBCYWRJbmRl
eGluZ1R5cGUpIHsKKyAgICAgICAgICAgIC8vIElmIHRoZSBpbnN0cnVjdGlvbiB0aGF0IHRoaXMg
b3JpZ2luYXRlZCBmcm9tIGhhcyBhbiBhcnJheSBwcm9maWxlLCB0aGVuCisgICAgICAgICAgICAv
LyByZWZpbmUgaXQuIElmIGl0IGRvZXNuJ3QsIHRoZW4gZG8gbm90aGluZy4gVGhlIGxhdHRlciBj
b3VsZCBoYXBwZW4gZm9yCisgICAgICAgICAgICAvLyBob2lzdGVkIGNoZWNrcywgb3IgY2hlY2tz
IGVtaXR0ZWQgZm9yIG9wZXJhdGlvbnMgdGhhdCBkaWRuJ3QgaGF2ZSBhcnJheQorICAgICAgICAg
ICAgLy8gcHJvZmlsaW5nIC0gZWl0aGVyIG9wcyB0aGF0IGFyZW4ndCBhcnJheSBhY2Nlc3NlcyBh
dCBhbGwsIG9yIHdlcmVuJ3QKKyAgICAgICAgICAgIC8vIGtub3duIHRvIGJlIGFycmF5IGFjY2Vz
ZXMgaW4gdGhlIGJ5dGVjb2RlLiBUaGUgbGF0dGVyIGNhc2UgaXMgYSBGSVhNRQorICAgICAgICAg
ICAgLy8gd2hpbGUgdGhlIGZvcm1lciBjYXNlIGlzIGFuIG91dGNvbWUgb2YgYSBDaGVja1N0cnVj
dHVyZSBub3Qga25vd2luZyB3aHkKKyAgICAgICAgICAgIC8vIGl0IHdhcyBlbWl0dGVkIChjb3Vs
ZCBiZSBlaXRoZXIgZHVlIHRvIGFuIGlubGluZSBjYWNoZSBvZiBhIHByb3BlcnR5CisgICAgICAg
ICAgICAvLyBwcm9wZXJ0eSBhY2Nlc3MsIG9yIGR1ZSB0byBhbiBhcnJheSBwcm9maWxlKS4KKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgLy8gTm90ZTogV2UgYXJlIGZyZWUgdG8gYXNzdW1lIHRo
YXQgdGhlIGpzVmFsdWVTb3VyY2UgaXMgYWxyZWFkeSBrbm93biB0bworICAgICAgICAgICAgLy8g
YmUgYSBjZWxsIHNpbmNlIGJvdGggQmFkQ2FjaGUgYW5kIEJhZEluZGV4aW5nVHlwZSBleGl0cyBv
Y2N1ciBhZnRlcgorICAgICAgICAgICAgLy8gdGhlIGNlbGwgY2hlY2sgd291bGQgaGF2ZSBhbHJl
YWR5IGhhcHBlbmVkLgorICAgICAgICAgICAgCisgICAgICAgICAgICBDb2RlT3JpZ2luIGNvZGVP
cmlnaW4gPSBleGl0Lm1fY29kZU9yaWdpbkZvckV4aXRQcm9maWxlOworICAgICAgICAgICAgaWYg
KEFycmF5UHJvZmlsZSogYXJyYXlQcm9maWxlID0gbV9qaXQuYmFzZWxpbmVDb2RlQmxvY2tGb3Io
Y29kZU9yaWdpbiktPmdldEFycmF5UHJvZmlsZShjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgpKSB7
CisgICAgICAgICAgICAgICAgR1BSUmVnIHVzZWRSZWdpc3RlcjE7CisgICAgICAgICAgICAgICAg
R1BSUmVnIHVzZWRSZWdpc3RlcjI7CisgICAgICAgICAgICAgICAgaWYgKGV4aXQubV9qc1ZhbHVl
U291cmNlLmlzQWRkcmVzcygpKSB7CisgICAgICAgICAgICAgICAgICAgIHVzZWRSZWdpc3RlcjEg
PSBleGl0Lm1fanNWYWx1ZVNvdXJjZS5iYXNlKCk7CisgICAgICAgICAgICAgICAgICAgIHVzZWRS
ZWdpc3RlcjIgPSBJbnZhbGlkR1BSUmVnOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgIHVzZWRSZWdpc3RlcjEgPSBleGl0Lm1fanNWYWx1ZVNvdXJjZS5wYXls
b2FkR1BSKCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChleGl0Lm1fanNWYWx1ZVNvdXJjZS5o
YXNLbm93blRhZygpKQorICAgICAgICAgICAgICAgICAgICAgICAgdXNlZFJlZ2lzdGVyMiA9IElu
dmFsaWRHUFJSZWc7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHVzZWRSZWdpc3RlcjIgPSBleGl0Lm1fanNWYWx1ZVNvdXJjZS50YWdHUFIoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgR1BSUmVn
IHNjcmF0Y2gxOworICAgICAgICAgICAgICAgIEdQUlJlZyBzY3JhdGNoMjsKKyAgICAgICAgICAg
ICAgICBzY3JhdGNoMSA9IEFzc2VtYmx5SGVscGVyczo6c2VsZWN0U2NyYXRjaEdQUih1c2VkUmVn
aXN0ZXIxLCB1c2VkUmVnaXN0ZXIyKTsKKyAgICAgICAgICAgICAgICBzY3JhdGNoMiA9IEFzc2Vt
Ymx5SGVscGVyczo6c2VsZWN0U2NyYXRjaEdQUih1c2VkUmVnaXN0ZXIxLCB1c2VkUmVnaXN0ZXIy
LCBzY3JhdGNoMSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgbV9qaXQucHVz
aChzY3JhdGNoMSk7CisgICAgICAgICAgICAgICAgbV9qaXQucHVzaChzY3JhdGNoMik7CisgICAg
ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgR1BSUmVnIHZhbHVlOworICAgICAgICAgICAg
ICAgIGlmIChleGl0Lm1fanNWYWx1ZVNvdXJjZS5pc0FkZHJlc3MoKSkgeworICAgICAgICAgICAg
ICAgICAgICB2YWx1ZSA9IHNjcmF0Y2gxOworICAgICAgICAgICAgICAgICAgICBtX2ppdC5sb2Fk
UHRyKEFzc2VtYmx5SGVscGVyczo6QWRkcmVzcyhleGl0Lm1fanNWYWx1ZVNvdXJjZS5hc0FkZHJl
c3MoKSksIHZhbHVlKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgdmFsdWUgPSBleGl0Lm1fanNWYWx1ZVNvdXJjZS5wYXlsb2FkR1BSKCk7CisgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgbV9qaXQubG9hZFB0cihBc3NlbWJseUhlbHBlcnM6OkFk
ZHJlc3ModmFsdWUsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkpLCBzY3JhdGNoMSk7CisgICAg
ICAgICAgICAgICAgbV9qaXQuc3RvcmVQdHIoc2NyYXRjaDEsIGFycmF5UHJvZmlsZS0+YWRkcmVz
c09mTGFzdFNlZW5TdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICAgICAgbV9qaXQubG9hZDgoQXNz
ZW1ibHlIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2gxLCBTdHJ1Y3R1cmU6OmluZGV4aW5nVHlwZU9m
ZnNldCgpKSwgc2NyYXRjaDEpOworICAgICAgICAgICAgICAgIG1faml0Lm1vdmUoQXNzZW1ibHlI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoMSksIHNjcmF0Y2gyKTsKKyAgICAgICAgICAgICAgICBtX2pp
dC5sc2hpZnQzMihzY3JhdGNoMSwgc2NyYXRjaDIpOworICAgICAgICAgICAgICAgIG1faml0Lm9y
MzIoc2NyYXRjaDIsIEFzc2VtYmx5SGVscGVyczo6QWJzb2x1dGVBZGRyZXNzKGFycmF5UHJvZmls
ZS0+YWRkcmVzc09mQXJyYXlNb2RlcygpKSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICAgICAgbV9qaXQucG9wKHNjcmF0Y2gyKTsKKyAgICAgICAgICAgICAgICBtX2ppdC5wb3Aoc2Ny
YXRjaDEpOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBpZiAo
ZXhpdC5tX2pzVmFsdWVTb3VyY2UuaXNBZGRyZXNzKCkpIHsKLSAgICAgICAgICAgIC8vIFNhdmUg
YSByZWdpc3RlciBzbyB3ZSBjYW4gdXNlIGl0LgotICAgICAgICAgICAgR1BSUmVnIHNjcmF0Y2gg
PSBHUFJJbmZvOjpyZWdUMDsKLSAgICAgICAgICAgIGlmIChzY3JhdGNoID09IGV4aXQubV9qc1Zh
bHVlU291cmNlLmJhc2UoKSkKLSAgICAgICAgICAgICAgICBzY3JhdGNoID0gR1BSSW5mbzo6cmVn
VDE7Ci0gICAgICAgICAgICBTY3JhdGNoQnVmZmVyKiBzY3JhdGNoQnVmZmVyID0gbV9qaXQuZ2xv
YmFsRGF0YSgpLT5zY3JhdGNoQnVmZmVyRm9yU2l6ZShzaXplb2YodWludDMyX3QpKTsKLSAgICAg
ICAgICAgIEVuY29kZWRKU1ZhbHVlKiBzY3JhdGNoRGF0YUJ1ZmZlciA9IHN0YXRpY19jYXN0PEVu
Y29kZWRKU1ZhbHVlKj4oc2NyYXRjaEJ1ZmZlci0+ZGF0YUJ1ZmZlcigpKTsKLSAgICAgICAgICAg
IG1faml0LnN0b3JlMzIoc2NyYXRjaCwgc2NyYXRjaERhdGFCdWZmZXIpOwotICAgICAgICAgICAg
bV9qaXQubG9hZDMyKGV4aXQubV9qc1ZhbHVlU291cmNlLmFzQWRkcmVzcyhPQkpFQ1RfT0ZGU0VU
T0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnRhZykpLCBzY3JhdGNoKTsKLSAgICAg
ICAgICAgIG1faml0LnN0b3JlMzIoc2NyYXRjaCwgJmJpdHdpc2VfY2FzdDxFbmNvZGVkVmFsdWVE
ZXNjcmlwdG9yKj4oYnVja2V0KS0+YXNCaXRzLnRhZyk7Ci0gICAgICAgICAgICBtX2ppdC5sb2Fk
MzIoZXhpdC5tX2pzVmFsdWVTb3VyY2UuYXNBZGRyZXNzKE9CSkVDVF9PRkZTRVRPRihFbmNvZGVk
VmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpLCBzY3JhdGNoKTsKLSAgICAgICAgICAg
IG1faml0LnN0b3JlMzIoc2NyYXRjaCwgJmJpdHdpc2VfY2FzdDxFbmNvZGVkVmFsdWVEZXNjcmlw
dG9yKj4oYnVja2V0KS0+YXNCaXRzLnBheWxvYWQpOwotICAgICAgICAgICAgbV9qaXQubG9hZDMy
KHNjcmF0Y2hEYXRhQnVmZmVyLCBzY3JhdGNoKTsKLSAgICAgICAgfSBlbHNlIGlmIChleGl0Lm1f
anNWYWx1ZVNvdXJjZS5oYXNLbm93blRhZygpKSB7Ci0gICAgICAgICAgICBtX2ppdC5zdG9yZTMy
KEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKGV4aXQubV9qc1ZhbHVlU291cmNlLnRhZygp
KSwgJmJpdHdpc2VfY2FzdDxFbmNvZGVkVmFsdWVEZXNjcmlwdG9yKj4oYnVja2V0KS0+YXNCaXRz
LnRhZyk7Ci0gICAgICAgICAgICBtX2ppdC5zdG9yZTMyKGV4aXQubV9qc1ZhbHVlU291cmNlLnBh
eWxvYWRHUFIoKSwgJmJpdHdpc2VfY2FzdDxFbmNvZGVkVmFsdWVEZXNjcmlwdG9yKj4oYnVja2V0
KS0+YXNCaXRzLnBheWxvYWQpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbV9qaXQu
c3RvcmUzMihleGl0Lm1fanNWYWx1ZVNvdXJjZS50YWdHUFIoKSwgJmJpdHdpc2VfY2FzdDxFbmNv
ZGVkVmFsdWVEZXNjcmlwdG9yKj4oYnVja2V0KS0+YXNCaXRzLnRhZyk7Ci0gICAgICAgICAgICBt
X2ppdC5zdG9yZTMyKGV4aXQubV9qc1ZhbHVlU291cmNlLnBheWxvYWRHUFIoKSwgJmJpdHdpc2Vf
Y2FzdDxFbmNvZGVkVmFsdWVEZXNjcmlwdG9yKj4oYnVja2V0KS0+YXNCaXRzLnBheWxvYWQpOwor
ICAgICAgICBpZiAoISFleGl0Lm1fdmFsdWVQcm9maWxlKSB7CisgICAgICAgICAgICBFbmNvZGVk
SlNWYWx1ZSogYnVja2V0ID0gZXhpdC5tX3ZhbHVlUHJvZmlsZS5nZXRTcGVjRmFpbEJ1Y2tldCgw
KTsKKyAgICAgICAgCisgICAgICAgICAgICBpZiAoZXhpdC5tX2pzVmFsdWVTb3VyY2UuaXNBZGRy
ZXNzKCkpIHsKKyAgICAgICAgICAgICAgICAvLyBTYXZlIGEgcmVnaXN0ZXIgc28gd2UgY2FuIHVz
ZSBpdC4KKyAgICAgICAgICAgICAgICBHUFJSZWcgc2NyYXRjaCA9IEFzc2VtYmx5SGVscGVyczo6
c2VsZWN0U2NyYXRjaEdQUihleGl0Lm1fanNWYWx1ZVNvdXJjZS5iYXNlKCkpOworICAgICAgICAg
ICAgICAgIAorICAgICAgICAgICAgICAgIG1faml0LnB1c2goc2NyYXRjaCk7CisKKyAgICAgICAg
ICAgICAgICBtX2ppdC5sb2FkMzIoZXhpdC5tX2pzVmFsdWVTb3VyY2UuYXNBZGRyZXNzKE9CSkVD
VF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSksIHNjcmF0Y2gp
OworICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIoc2NyYXRjaCwgJmJpdHdpc2VfY2FzdDxF
bmNvZGVkVmFsdWVEZXNjcmlwdG9yKj4oYnVja2V0KS0+YXNCaXRzLnRhZyk7CisgICAgICAgICAg
ICAgICAgbV9qaXQubG9hZDMyKGV4aXQubV9qc1ZhbHVlU291cmNlLmFzQWRkcmVzcyhPQkpFQ1Rf
T0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnBheWxvYWQpKSwgc2NyYXRj
aCk7CisgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihzY3JhdGNoLCAmYml0d2lzZV9jYXN0
PEVuY29kZWRWYWx1ZURlc2NyaXB0b3IqPihidWNrZXQpLT5hc0JpdHMucGF5bG9hZCk7CisgICAg
ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgbV9qaXQucG9wKHNjcmF0Y2gpOworICAgICAg
ICAgICAgfSBlbHNlIGlmIChleGl0Lm1fanNWYWx1ZVNvdXJjZS5oYXNLbm93blRhZygpKSB7Cisg
ICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0z
MihleGl0Lm1fanNWYWx1ZVNvdXJjZS50YWcoKSksICZiaXR3aXNlX2Nhc3Q8RW5jb2RlZFZhbHVl
RGVzY3JpcHRvcio+KGJ1Y2tldCktPmFzQml0cy50YWcpOworICAgICAgICAgICAgICAgIG1faml0
LnN0b3JlMzIoZXhpdC5tX2pzVmFsdWVTb3VyY2UucGF5bG9hZEdQUigpLCAmYml0d2lzZV9jYXN0
PEVuY29kZWRWYWx1ZURlc2NyaXB0b3IqPihidWNrZXQpLT5hc0JpdHMucGF5bG9hZCk7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIoZXhpdC5tX2pz
VmFsdWVTb3VyY2UudGFnR1BSKCksICZiaXR3aXNlX2Nhc3Q8RW5jb2RlZFZhbHVlRGVzY3JpcHRv
cio+KGJ1Y2tldCktPmFzQml0cy50YWcpOworICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIo
ZXhpdC5tX2pzVmFsdWVTb3VyY2UucGF5bG9hZEdQUigpLCAmYml0d2lzZV9jYXN0PEVuY29kZWRW
YWx1ZURlc2NyaXB0b3IqPihidWNrZXQpLT5hc0JpdHMucGF5bG9hZCk7CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICB9CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAkocmV2aXNpb24gMTMxNzA3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTg2LDIzICs4Niw3MCBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGls
ZUV4aXQoY29uc3QgCiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvLyAzKSBSZWZpbmUgc29tZSB2
YWx1ZSBwcm9maWxlLCBpZiBhcHByb3ByaWF0ZS4KKyAgICAvLyAzKSBSZWZpbmUgc29tZSBhcnJh
eSBhbmQvb3IgdmFsdWUgcHJvZmlsZSwgaWYgYXBwcm9wcmlhdGUuCiAgICAgCi0gICAgaWYgKCEh
ZXhpdC5tX2pzVmFsdWVTb3VyY2UgJiYgISFleGl0Lm1fdmFsdWVQcm9maWxlKSB7Ci0gICAgICAg
IEVuY29kZWRKU1ZhbHVlKiBidWNrZXQgPSBleGl0Lm1fdmFsdWVQcm9maWxlLmdldFNwZWNGYWls
QnVja2V0KDApOworICAgIGlmICghIWV4aXQubV9qc1ZhbHVlU291cmNlKSB7CisgICAgICAgIGlm
IChleGl0Lm1fa2luZCA9PSBCYWRDYWNoZSB8fCBleGl0Lm1fa2luZCA9PSBCYWRJbmRleGluZ1R5
cGUpIHsKKyAgICAgICAgICAgIC8vIElmIHRoZSBpbnN0cnVjdGlvbiB0aGF0IHRoaXMgb3JpZ2lu
YXRlZCBmcm9tIGhhcyBhbiBhcnJheSBwcm9maWxlLCB0aGVuCisgICAgICAgICAgICAvLyByZWZp
bmUgaXQuIElmIGl0IGRvZXNuJ3QsIHRoZW4gZG8gbm90aGluZy4gVGhlIGxhdHRlciBjb3VsZCBo
YXBwZW4gZm9yCisgICAgICAgICAgICAvLyBob2lzdGVkIGNoZWNrcywgb3IgY2hlY2tzIGVtaXR0
ZWQgZm9yIG9wZXJhdGlvbnMgdGhhdCBkaWRuJ3QgaGF2ZSBhcnJheQorICAgICAgICAgICAgLy8g
cHJvZmlsaW5nIC0gZWl0aGVyIG9wcyB0aGF0IGFyZW4ndCBhcnJheSBhY2Nlc3NlcyBhdCBhbGws
IG9yIHdlcmVuJ3QKKyAgICAgICAgICAgIC8vIGtub3duIHRvIGJlIGFycmF5IGFjY2VzZXMgaW4g
dGhlIGJ5dGVjb2RlLiBUaGUgbGF0dGVyIGNhc2UgaXMgYSBGSVhNRQorICAgICAgICAgICAgLy8g
d2hpbGUgdGhlIGZvcm1lciBjYXNlIGlzIGFuIG91dGNvbWUgb2YgYSBDaGVja1N0cnVjdHVyZSBu
b3Qga25vd2luZyB3aHkKKyAgICAgICAgICAgIC8vIGl0IHdhcyBlbWl0dGVkIChjb3VsZCBiZSBl
aXRoZXIgZHVlIHRvIGFuIGlubGluZSBjYWNoZSBvZiBhIHByb3BlcnR5CisgICAgICAgICAgICAv
LyBwcm9wZXJ0eSBhY2Nlc3MsIG9yIGR1ZSB0byBhbiBhcnJheSBwcm9maWxlKS4KKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luID0gZXhpdC5tX2NvZGVPcmln
aW5Gb3JFeGl0UHJvZmlsZTsKKyAgICAgICAgICAgIGlmIChBcnJheVByb2ZpbGUqIGFycmF5UHJv
ZmlsZSA9IG1faml0LmJhc2VsaW5lQ29kZUJsb2NrRm9yKGNvZGVPcmlnaW4pLT5nZXRBcnJheVBy
b2ZpbGUoY29kZU9yaWdpbi5ieXRlY29kZUluZGV4KSkgeworICAgICAgICAgICAgICAgIEdQUlJl
ZyB1c2VkUmVnaXN0ZXI7CisgICAgICAgICAgICAgICAgaWYgKGV4aXQubV9qc1ZhbHVlU291cmNl
LmlzQWRkcmVzcygpKQorICAgICAgICAgICAgICAgICAgICB1c2VkUmVnaXN0ZXIgPSBleGl0Lm1f
anNWYWx1ZVNvdXJjZS5iYXNlKCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICB1c2VkUmVnaXN0ZXIgPSBleGl0Lm1fanNWYWx1ZVNvdXJjZS5ncHIoKTsKKyAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBHUFJSZWcgc2NyYXRjaDE7CisgICAgICAgICAg
ICAgICAgR1BSUmVnIHNjcmF0Y2gyOworICAgICAgICAgICAgICAgIHNjcmF0Y2gxID0gQXNzZW1i
bHlIZWxwZXJzOjpzZWxlY3RTY3JhdGNoR1BSKHVzZWRSZWdpc3Rlcik7CisgICAgICAgICAgICAg
ICAgc2NyYXRjaDIgPSBBc3NlbWJseUhlbHBlcnM6OnNlbGVjdFNjcmF0Y2hHUFIodXNlZFJlZ2lz
dGVyLCBzY3JhdGNoMSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgbV9qaXQu
cHVzaChzY3JhdGNoMSk7CisgICAgICAgICAgICAgICAgbV9qaXQucHVzaChzY3JhdGNoMik7Cisg
ICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgR1BSUmVnIHZhbHVlOworICAgICAgICAg
ICAgICAgIGlmIChleGl0Lm1fanNWYWx1ZVNvdXJjZS5pc0FkZHJlc3MoKSkgeworICAgICAgICAg
ICAgICAgICAgICB2YWx1ZSA9IHNjcmF0Y2gxOworICAgICAgICAgICAgICAgICAgICBtX2ppdC5s
b2FkUHRyKEFzc2VtYmx5SGVscGVyczo6QWRkcmVzcyhleGl0Lm1fanNWYWx1ZVNvdXJjZS5hc0Fk
ZHJlc3MoKSksIHZhbHVlKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgdmFsdWUgPSBleGl0Lm1fanNWYWx1ZVNvdXJjZS5ncHIoKTsKKyAgICAgICAgICAgICAg
ICAKKyAgICAgICAgICAgICAgICBtX2ppdC5sb2FkUHRyKEFzc2VtYmx5SGVscGVyczo6QWRkcmVz
cyh2YWx1ZSwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksIHNjcmF0Y2gxKTsKKyAgICAgICAg
ICAgICAgICBtX2ppdC5zdG9yZVB0cihzY3JhdGNoMSwgYXJyYXlQcm9maWxlLT5hZGRyZXNzT2ZM
YXN0U2VlblN0cnVjdHVyZSgpKTsKKyAgICAgICAgICAgICAgICBtX2ppdC5sb2FkOChBc3NlbWJs
eUhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaDEsIFN0cnVjdHVyZTo6aW5kZXhpbmdUeXBlT2Zmc2V0
KCkpLCBzY3JhdGNoMSk7CisgICAgICAgICAgICAgICAgbV9qaXQubW92ZShBc3NlbWJseUhlbHBl
cnM6OlRydXN0ZWRJbW0zMigxKSwgc2NyYXRjaDIpOworICAgICAgICAgICAgICAgIG1faml0Lmxz
aGlmdDMyKHNjcmF0Y2gxLCBzY3JhdGNoMik7CisgICAgICAgICAgICAgICAgbV9qaXQub3IzMihz
Y3JhdGNoMiwgQXNzZW1ibHlIZWxwZXJzOjpBYnNvbHV0ZUFkZHJlc3MoYXJyYXlQcm9maWxlLT5h
ZGRyZXNzT2ZBcnJheU1vZGVzKCkpKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAg
ICBtX2ppdC5wb3Aoc2NyYXRjaDIpOworICAgICAgICAgICAgICAgIG1faml0LnBvcChzY3JhdGNo
MSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICAgICAgCisgICAgICAgIGlmICghIWV4
aXQubV92YWx1ZVByb2ZpbGUpIHsKKyAgICAgICAgICAgIEVuY29kZWRKU1ZhbHVlKiBidWNrZXQg
PSBleGl0Lm1fdmFsdWVQcm9maWxlLmdldFNwZWNGYWlsQnVja2V0KDApOworICAgICAgICAgICAg
CiAjaWYgREZHX0VOQUJMRShWRVJCT1NFX1NQRUNVTEFUSU9OX0ZBSUxVUkUpCi0gICAgICAgIGRh
dGFMb2coIiAgKGhhdmUgZXhpdCBwcm9maWxlLCBidWNrZXQgJXApICAiLCBidWNrZXQpOworICAg
ICAgICAgICAgZGF0YUxvZygiICAoaGF2ZSBleGl0IHByb2ZpbGUsIGJ1Y2tldCAlcCkgICIsIGJ1
Y2tldCk7CiAjZW5kaWYKICAgICAgICAgICAgIAotICAgICAgICBpZiAoZXhpdC5tX2pzVmFsdWVT
b3VyY2UuaXNBZGRyZXNzKCkpIHsKLSAgICAgICAgICAgIC8vIFdlIGNhbid0IGJlIHN1cmUgdGhh
dCB3ZSBoYXZlIGEgc3BhcmUgcmVnaXN0ZXIuIFNvIHVzZSB0aGUgdGFnVHlwZU51bWJlclJlZ2lz
dGVyLAotICAgICAgICAgICAgLy8gc2luY2Ugd2Uga25vdyBob3cgdG8gcmVzdG9yZSBpdC4KLSAg
ICAgICAgICAgIG1faml0LmxvYWRQdHIoQXNzZW1ibHlIZWxwZXJzOjpBZGRyZXNzKGV4aXQubV9q
c1ZhbHVlU291cmNlLmFzQWRkcmVzcygpKSwgR1BSSW5mbzo6dGFnVHlwZU51bWJlclJlZ2lzdGVy
KTsKLSAgICAgICAgICAgIG1faml0LnN0b3JlUHRyKEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdp
c3RlciwgYnVja2V0KTsKLSAgICAgICAgICAgIG1faml0Lm1vdmUoQXNzZW1ibHlIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKGJpdHdpc2VfY2FzdDx2b2lkKj4oVGFnVHlwZU51bWJlcikpLCBHUFJJbmZv
Ojp0YWdUeXBlTnVtYmVyUmVnaXN0ZXIpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG1f
aml0LnN0b3JlUHRyKGV4aXQubV9qc1ZhbHVlU291cmNlLmdwcigpLCBidWNrZXQpOworICAgICAg
ICAgICAgaWYgKGV4aXQubV9qc1ZhbHVlU291cmNlLmlzQWRkcmVzcygpKSB7CisgICAgICAgICAg
ICAgICAgLy8gV2UgY2FuJ3QgYmUgc3VyZSB0aGF0IHdlIGhhdmUgYSBzcGFyZSByZWdpc3Rlci4g
U28gdXNlIHRoZSB0YWdUeXBlTnVtYmVyUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgLy8gc2lu
Y2Ugd2Uga25vdyBob3cgdG8gcmVzdG9yZSBpdC4KKyAgICAgICAgICAgICAgICBtX2ppdC5sb2Fk
UHRyKEFzc2VtYmx5SGVscGVyczo6QWRkcmVzcyhleGl0Lm1fanNWYWx1ZVNvdXJjZS5hc0FkZHJl
c3MoKSksIEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3Rlcik7CisgICAgICAgICAgICAgICAg
bV9qaXQuc3RvcmVQdHIoR1BSSW5mbzo6dGFnVHlwZU51bWJlclJlZ2lzdGVyLCBidWNrZXQpOwor
ICAgICAgICAgICAgICAgIG1faml0Lm1vdmUoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tUHRy
KGJpdHdpc2VfY2FzdDx2b2lkKj4oVGFnVHlwZU51bWJlcikpLCBHUFJJbmZvOjp0YWdUeXBlTnVt
YmVyUmVnaXN0ZXIpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgbV9qaXQu
c3RvcmVQdHIoZXhpdC5tX2pzVmFsdWVTb3VyY2UuZ3ByKCksIGJ1Y2tldCk7CisgICAgICAgIH0K
ICAgICB9CiAKICAgICAvLyA0KSBGaWd1cmUgb3V0IGhvdyBtYW55IHNjcmF0Y2ggc2xvdHMgd2Un
bGwgbmVlZC4gV2UgbmVlZCBvbmUgZm9yIGV2ZXJ5IEdQUi9GUFIKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2
aXNpb24gMTMxNzA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzg3OSw3ICszODc5LDcgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAgICAKICAgICAgICAgaWYg
KG5vZGUuc3RydWN0dXJlU2V0KCkuc2l6ZSgpID09IDEpIHsKICAgICAgICAgICAgIHNwZWN1bGF0
aW9uQ2hlY2tXaXRoQ29uZGl0aW9uYWxEaXJlY3Rpb24oCi0gICAgICAgICAgICAgICAgQmFkQ2Fj
aGUsIEpTVmFsdWVSZWdzKCksIE5vTm9kZSwKKyAgICAgICAgICAgICAgICBCYWRDYWNoZSwgSlNW
YWx1ZVNvdXJjZTo6dW5ib3hlZENlbGwoYmFzZS5ncHIoKSksIE5vTm9kZSwKICAgICAgICAgICAg
ICAgICBtX2ppdC5icmFuY2hXZWFrUHRyKAogICAgICAgICAgICAgICAgICAgICBKSVRDb21waWxl
cjo6Tm90RXF1YWwsCiAgICAgICAgICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpBZGRyZXNzKGJh
c2UuZ3ByKCksIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkpLApAQCAtMzg5Niw3ICszODk2LDcg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAgICAgICAg
ICAgIGRvbmUuYXBwZW5kKG1faml0LmJyYW5jaFdlYWtQdHIoSklUQ29tcGlsZXI6OkVxdWFsLCBz
dHJ1Y3R1cmUuZ3ByKCksIG5vZGUuc3RydWN0dXJlU2V0KClbaV0pKTsKICAgICAgICAgICAgIAog
ICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVja1dpdGhDb25kaXRpb25hbERpcmVjdGlvbigKLSAg
ICAgICAgICAgICAgICBCYWRDYWNoZSwgSlNWYWx1ZVJlZ3MoKSwgTm9Ob2RlLAorICAgICAgICAg
ICAgICAgIEJhZENhY2hlLCBKU1ZhbHVlU291cmNlOjp1bmJveGVkQ2VsbChiYXNlLmdwcigpKSwg
Tm9Ob2RlLAogICAgICAgICAgICAgICAgIG1faml0LmJyYW5jaFdlYWtQdHIoCiAgICAgICAgICAg
ICAgICAgICAgIEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgc3RydWN0dXJlLmdwcigpLCBub2RlLnN0
cnVjdHVyZVNldCgpLmxhc3QoKSksCiAgICAgICAgICAgICAgICAgbm9kZS5vcCgpID09IEZvcndh
cmRDaGVja1N0cnVjdHVyZSk7CkBAIC0zOTEwLDYgKzM5MTAsMTMgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAgICAKICAgICBjYXNlIFN0cnVjdHVyZVRy
YW5zaXRpb25XYXRjaHBvaW50OgogICAgIGNhc2UgRm9yd2FyZFN0cnVjdHVyZVRyYW5zaXRpb25X
YXRjaHBvaW50OiB7CisgICAgICAgIC8vIFRoZXJlIGlzIGEgZmFzY2luYXRpbmcgcXVlc3Rpb24g
aGVyZSBvZiB3aGF0IHRvIGRvIGFib3V0IGFycmF5IHByb2ZpbGluZy4KKyAgICAgICAgLy8gV2Ug
KmNvdWxkKiB0cnkgdG8gdGVsbCB0aGUgT1NSIGV4aXQgYWJvdXQgd2hlcmUgdGhlIGJhc2Ugb2Yg
dGhlIGFjY2VzcyBpcy4KKyAgICAgICAgLy8gVGhlIERGRyB3aWxsIGhhdmUga2VwdCBpdCBhbGl2
ZSwgdGhvdWdoIGl0IG1heSBub3QgYmUgaW4gYSByZWdpc3RlciwgYW5kCisgICAgICAgIC8vIHdl
IHNob3VsZG4ndCByZWFsbHkgbG9hZCBpdCBzaW5jZSB0aGF0IGNvdWxkIGJlIGEgd2FzdGUuIEZv
ciBub3cgdGhvdWdoLAorICAgICAgICAvLyB3ZSdsbCBqdXN0IHJlbHkgb24gdGhlIGZhY3QgdGhh
dCB3aGVuIGEgd2F0Y2hwb2ludCBmaXJlcyB0aGVuIHRoYXQncworICAgICAgICAvLyBxdWl0ZSBh
IGhpbnQgYWxyZWFkeS4KKyAgICAgICAgCiAgICAgICAgIG1faml0LmFkZFdlYWtSZWZlcmVuY2Uo
bm9kZS5zdHJ1Y3R1cmUoKSk7CiAgICAgICAgIG5vZGUuc3RydWN0dXJlKCktPmFkZFRyYW5zaXRp
b25XYXRjaHBvaW50KAogICAgICAgICAgICAgc3BlY3VsYXRpb25XYXRjaHBvaW50V2l0aENvbmRp
dGlvbmFsRGlyZWN0aW9uKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxMzE3MDcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zODc0LDcgKzM4NzQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5v
ZGUpCiAgICAgICAgIAogICAgICAgICBpZiAobm9kZS5zdHJ1Y3R1cmVTZXQoKS5zaXplKCkgPT0g
MSkgewogICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVja1dpdGhDb25kaXRpb25hbERpcmVjdGlv
bigKLSAgICAgICAgICAgICAgICBCYWRDYWNoZSwgSlNWYWx1ZVJlZ3MoKSwgTm9Ob2RlLAorICAg
ICAgICAgICAgICAgIEJhZENhY2hlLCBKU1ZhbHVlUmVncyhiYXNlLmdwcigpKSwgTm9Ob2RlLAog
ICAgICAgICAgICAgICAgIG1faml0LmJyYW5jaFdlYWtQdHIoCiAgICAgICAgICAgICAgICAgICAg
IEpJVENvbXBpbGVyOjpOb3RFcXVhbCwKICAgICAgICAgICAgICAgICAgICAgSklUQ29tcGlsZXI6
OkFkZHJlc3MoYmFzZS5ncHIoKSwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksCkBAIC0zODkx
LDcgKzM4OTEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAg
ICAgICAgICAgICAgICAgZG9uZS5hcHBlbmQobV9qaXQuYnJhbmNoV2Vha1B0cihKSVRDb21waWxl
cjo6RXF1YWwsIHN0cnVjdHVyZS5ncHIoKSwgbm9kZS5zdHJ1Y3R1cmVTZXQoKVtpXSkpOwogICAg
ICAgICAgICAgCiAgICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrV2l0aENvbmRpdGlvbmFsRGly
ZWN0aW9uKAotICAgICAgICAgICAgICAgIEJhZENhY2hlLCBKU1ZhbHVlUmVncygpLCBOb05vZGUs
CisgICAgICAgICAgICAgICAgQmFkQ2FjaGUsIEpTVmFsdWVSZWdzKGJhc2UuZ3ByKCkpLCBOb05v
ZGUsCiAgICAgICAgICAgICAgICAgbV9qaXQuYnJhbmNoV2Vha1B0cigKICAgICAgICAgICAgICAg
ICAgICAgSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCBzdHJ1Y3R1cmUuZ3ByKCksIG5vZGUuc3RydWN0
dXJlU2V0KCkubGFzdCgpKSwKICAgICAgICAgICAgICAgICBub2RlLm9wKCkgPT0gRm9yd2FyZENo
ZWNrU3RydWN0dXJlKTsKQEAgLTM5MDUsNiArMzkwNSwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgIAogICAgIGNhc2UgU3RydWN0dXJlVHJhbnNp
dGlvbldhdGNocG9pbnQ6CiAgICAgY2FzZSBGb3J3YXJkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNo
cG9pbnQ6IHsKKyAgICAgICAgLy8gVGhlcmUgaXMgYSBmYXNjaW5hdGluZyBxdWVzdGlvbiBoZXJl
IG9mIHdoYXQgdG8gZG8gYWJvdXQgYXJyYXkgcHJvZmlsaW5nLgorICAgICAgICAvLyBXZSAqY291
bGQqIHRyeSB0byB0ZWxsIHRoZSBPU1IgZXhpdCBhYm91dCB3aGVyZSB0aGUgYmFzZSBvZiB0aGUg
YWNjZXNzIGlzLgorICAgICAgICAvLyBUaGUgREZHIHdpbGwgaGF2ZSBrZXB0IGl0IGFsaXZlLCB0
aG91Z2ggaXQgbWF5IG5vdCBiZSBpbiBhIHJlZ2lzdGVyLCBhbmQKKyAgICAgICAgLy8gd2Ugc2hv
dWxkbid0IHJlYWxseSBsb2FkIGl0IHNpbmNlIHRoYXQgY291bGQgYmUgYSB3YXN0ZS4gRm9yIG5v
dyB0aG91Z2gsCisgICAgICAgIC8vIHdlJ2xsIGp1c3QgcmVseSBvbiB0aGUgZmFjdCB0aGF0IHdo
ZW4gYSB3YXRjaHBvaW50IGZpcmVzIHRoZW4gdGhhdCdzCisgICAgICAgIC8vIHF1aXRlIGEgaGlu
dCBhbHJlYWR5LgorICAgICAgICAKICAgICAgICAgbV9qaXQuYWRkV2Vha1JlZmVyZW5jZShub2Rl
LnN0cnVjdHVyZSgpKTsKICAgICAgICAgbm9kZS5zdHJ1Y3R1cmUoKS0+YWRkVHJhbnNpdGlvbldh
dGNocG9pbnQoCiAgICAgICAgICAgICBzcGVjdWxhdGlvbldhdGNocG9pbnRXaXRoQ29uZGl0aW9u
YWxEaXJlY3Rpb24oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMTMxNzA3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxNyw3ICs0
MTcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjaGVja0FycmF5KE5vZGUmIG5vCiAgICAgICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlUmVnLCBKU0NlbGw6OnN0cnVjdHVyZU9m
ZnNldCgpKSwgdGVtcEdQUik7CiAgICAgICAgIG1faml0LmxvYWQ4KE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKHRlbXBHUFIsIFN0cnVjdHVyZTo6aW5kZXhpbmdUeXBlT2Zmc2V0KCkpLCB0ZW1wR1BS
KTsKICAgICAgICAgc3BlY3VsYXRpb25DaGVjaygKLSAgICAgICAgICAgIFVuY291bnRhYmxlLCBK
U1ZhbHVlUmVncygpLCBOb05vZGUsCisgICAgICAgICAgICBCYWRJbmRleGluZ1R5cGUsIEpTVmFs
dWVTb3VyY2U6OnVuYm94ZWRDZWxsKGJhc2VSZWcpLCBOb05vZGUsCiAgICAgICAgICAgICBqdW1w
U2xvd0ZvclVud2FudGVkQXJyYXlNb2RlKHRlbXBHUFIsIG5vZGUuYXJyYXlNb2RlKCkpKTsKICAg
ICAgICAgCiAgICAgICAgIG5vUmVzdWx0KG1fY29tcGlsZUluZGV4KTsKQEAgLTUxNSw3ICs1MTUs
NyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjphcnJheWlmeShOb2RlJiBub2RlCiAgICAgLy8gTmV4
dCBjaGVjayB0aGF0IHRoZSBvYmplY3QgZG9lcyBub3QgaW50ZXJjZXB0IGluZGV4ZWQgYWNjZXNz
ZXMuIElmIGl0IGRvZXMsCiAgICAgLy8gdGhlbiB0aGlzIG1vZGUgd29uJ3Qgd29yay4KICAgICBz
cGVjdWxhdGlvbkNoZWNrKAotICAgICAgICBVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgTm9O
b2RlLAorICAgICAgICBCYWRJbmRleGluZ1R5cGUsIEpTVmFsdWVTb3VyY2U6OnVuYm94ZWRDZWxs
KGJhc2VSZWcpLCBOb05vZGUsCiAgICAgICAgIG1faml0LmJyYW5jaFRlc3Q4KAogICAgICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6Ok5vblplcm8sCiAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
QWRkcmVzcyhzdHJ1Y3R1cmVHUFIsIFN0cnVjdHVyZTo6dHlwZUluZm9GbGFnc09mZnNldCgpKSwK
QEAgLTU0OSw3ICs1NDksNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjphcnJheWlmeShOb2RlJiBu
b2RlCiAgICAgbV9qaXQubG9hZDgoCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0
cnVjdHVyZUdQUiwgU3RydWN0dXJlOjppbmRleGluZ1R5cGVPZmZzZXQoKSksIHN0cnVjdHVyZUdQ
Uik7CiAgICAgc3BlY3VsYXRpb25DaGVjaygKLSAgICAgICAgVW5jb3VudGFibGUsIEpTVmFsdWVS
ZWdzKCksIE5vTm9kZSwKKyAgICAgICAgQmFkSW5kZXhpbmdUeXBlLCBKU1ZhbHVlU291cmNlOjp1
bmJveGVkQ2VsbChiYXNlUmVnKSwgTm9Ob2RlLAogICAgICAgICBqdW1wU2xvd0ZvclVud2FudGVk
QXJyYXlNb2RlKHN0cnVjdHVyZUdQUiwgZGVzaXJlZEFycmF5TW9kZSkpOwogICAgIAogICAgIGRv
bmUubGluaygmbV9qaXQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxp
bmVNZXRob2RzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVNZXRob2RzLmgJKHJldmlzaW9uIDEzMTcwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MzgsMTcgKzUzOCwx
NSBAQCBpbmxpbmUgdm9pZCBKSVQ6OmVtaXRWYWx1ZVByb2ZpbGluZ1NpdGUoCiAKIGlubGluZSB2
b2lkIEpJVDo6ZW1pdEFycmF5UHJvZmlsaW5nU2l0ZShSZWdpc3RlcklEIHN0cnVjdHVyZUFuZElu
ZGV4aW5nVHlwZSwgUmVnaXN0ZXJJRCBzY3JhdGNoLCBBcnJheVByb2ZpbGUqIGFycmF5UHJvZmls
ZSkKIHsKKyAgICBVTlVTRURfUEFSQU0oc2NyYXRjaCk7IC8vIFdlIGhhZCBmb3VuZCB0aGlzIHNj
cmF0Y2ggcmVnaXN0ZXIgdXNlZnVsIGhlcmUgYmVmb3JlLCBzbyBJIHdpbGwga2VlcCBpdCBmb3Ig
bm93LgorICAgIAogICAgIFJlZ2lzdGVySUQgc3RydWN0dXJlID0gc3RydWN0dXJlQW5kSW5kZXhp
bmdUeXBlOwogICAgIFJlZ2lzdGVySUQgaW5kZXhpbmdUeXBlID0gc3RydWN0dXJlQW5kSW5kZXhp
bmdUeXBlOwogICAgIAotICAgIGlmIChjYW5CZU9wdGltaXplZCgpKSB7CisgICAgaWYgKGNhbkJl
T3B0aW1pemVkKCkpCiAgICAgICAgIHN0b3JlUHRyKHN0cnVjdHVyZSwgYXJyYXlQcm9maWxlLT5h
ZGRyZXNzT2ZMYXN0U2VlblN0cnVjdHVyZSgpKTsKLSAgICAgICAgbG9hZDgoQWRkcmVzcyhzdHJ1
Y3R1cmUsIFN0cnVjdHVyZTo6aW5kZXhpbmdUeXBlT2Zmc2V0KCkpLCBpbmRleGluZ1R5cGUpOwot
ICAgICAgICBtb3ZlKFRydXN0ZWRJbW0zMigxKSwgc2NyYXRjaCk7Ci0gICAgICAgIGxzaGlmdDMy
KGluZGV4aW5nVHlwZSwgc2NyYXRjaCk7Ci0gICAgICAgIG9yMzIoc2NyYXRjaCwgQWJzb2x1dGVB
ZGRyZXNzKGFycmF5UHJvZmlsZS0+YWRkcmVzc09mQXJyYXlNb2RlcygpKSk7Ci0gICAgfSBlbHNl
Ci0gICAgICAgIGxvYWQ4KEFkZHJlc3Moc3RydWN0dXJlLCBTdHJ1Y3R1cmU6OmluZGV4aW5nVHlw
ZU9mZnNldCgpKSwgaW5kZXhpbmdUeXBlKTsKKworICAgIGxvYWQ4KEFkZHJlc3Moc3RydWN0dXJl
LCBTdHJ1Y3R1cmU6OmluZGV4aW5nVHlwZU9mZnNldCgpKSwgaW5kZXhpbmdUeXBlKTsKIH0KIAog
aW5saW5lIHZvaWQgSklUOjplbWl0QXJyYXlQcm9maWxpbmdTaXRlRm9yQnl0ZWNvZGVJbmRleChS
ZWdpc3RlcklEIHN0cnVjdHVyZUFuZEluZGV4aW5nVHlwZSwgUmVnaXN0ZXJJRCBzY3JhdGNoLCB1
bnNpZ25lZCBieXRlY29kZUluZGV4KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQkocmV2aXNpb24gMTMxNzA3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTYsMTMgKzE5Niw4IEBAIG1hY3JvIGFycmF5UHJvZmlsZShzdHJ1Y3R1
cmVBbmRJbmRleGluZ1QKICAgICBjb25zdCBpbmRleGluZ1R5cGUgPSBzdHJ1Y3R1cmVBbmRJbmRl
eGluZ1R5cGUKICAgICBpZiBWQUxVRV9QUk9GSUxFUgogICAgICAgICBzdG9yZXAgc3RydWN0dXJl
LCBBcnJheVByb2ZpbGU6Om1fbGFzdFNlZW5TdHJ1Y3R1cmVbcHJvZmlsZV0KLSAgICAgICAgbG9h
ZGIgU3RydWN0dXJlOjptX2luZGV4aW5nVHlwZVtzdHJ1Y3R1cmVdLCBpbmRleGluZ1R5cGUKLSAg
ICAgICAgbW92ZSAxLCBzY3JhdGNoCi0gICAgICAgIGxzaGlmdGkgaW5kZXhpbmdUeXBlLCBzY3Jh
dGNoCi0gICAgICAgIG9yaSBzY3JhdGNoLCBBcnJheVByb2ZpbGU6Om1fb2JzZXJ2ZWRBcnJheU1v
ZGVzW3Byb2ZpbGVdCi0gICAgZWxzZQotICAgICAgICBsb2FkYiBTdHJ1Y3R1cmU6Om1faW5kZXhp
bmdUeXBlW3N0cnVjdHVyZV0sIGluZGV4aW5nVHlwZQogICAgIGVuZAorICAgIGxvYWRiIFN0cnVj
dHVyZTo6bV9pbmRleGluZ1R5cGVbc3RydWN0dXJlXSwgaW5kZXhpbmdUeXBlCiBlbmQKIAogbWFj
cm8gY2hlY2tTd2l0Y2hUb0pJVChpbmNyZW1lbnQsIGFjdGlvbikK
</data>
<flag name="review"
          id="182792"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>