<?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>96604</bug_id>
          
          <creation_ts>2012-09-12 23:10:35 -0700</creation_ts>
          <short_desc>[EFL][WK2] Make _ref() functions return the object</short_desc>
          <delta_ts>2012-09-13 00:35:40 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>719078</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-12 23:10:35 -0700</bug_when>
    <thetext>We should make the *_ref() functions return the object in Ewk APIs to make it more convenient to use:

e.g. the following:
  ewk_download_job_ref(ewkDownload);
  ewkContext-&gt;downloadJobs.add(downloadId, ewkDownload);

is replaced by:
  ewkContext-&gt;downloadJobs.add(downloadId, ewk_download_job_ref(ewkDownload));

This is consistent with eina_stringshare_ref() API in EFL and g_object_ref() in glib.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719085</commentid>
    <comment_count>1</comment_count>
      <attachid>163787</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-12 23:22:39 -0700</bug_when>
    <thetext>Created attachment 163787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719087</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-12 23:24:23 -0700</bug_when>
    <thetext>Of course, I&apos;ll update the EFL coding guidelines when this lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719096</commentid>
    <comment_count>3</comment_count>
      <attachid>163787</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-12 23:37:54 -0700</bug_when>
    <thetext>Comment on attachment 163787
Patch

Looks good refactoring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719116</commentid>
    <comment_count>4</comment_count>
      <attachid>163787</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-12 23:55:33 -0700</bug_when>
    <thetext>Comment on attachment 163787
Patch

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

&gt; Source/WebKit2/ChangeLog:3
&gt; +        [EFL] Make _ref() functions return the object

Nit: missing [WK2] prefix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719135</commentid>
    <comment_count>5</comment_count>
      <attachid>163797</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-13 00:15:08 -0700</bug_when>
    <thetext>Created attachment 163797
Patch for landing

Could someone please cq+?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719155</commentid>
    <comment_count>6</comment_count>
      <attachid>163797</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 00:35:36 -0700</bug_when>
    <thetext>Comment on attachment 163797
Patch for landing

Clearing flags on attachment: 163797

Committed r128413: &lt;http://trac.webkit.org/changeset/128413&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719156</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 00:35:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163787</attachid>
            <date>2012-09-12 23:22:39 -0700</date>
            <delta_ts>2012-09-13 00:15:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>96604_convenient_ref.patch</filename>
            <type>text/plain</type>
            <size>20311</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmZjY2M2ZiLi44ODU0YWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUg
QEAKKzIwMTItMDktMTIgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXSBNYWtlIF9yZWYoKSBmdW5jdGlvbnMgcmV0dXJuIHRoZSBv
YmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2
NjA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFr
ZSBfcmVmKCkgZnVuY3Rpb25zIHJldHVybiB0aGUgcmVmJ2Qgb2JqZWN0IHRvCisgICAgICAgIG1h
a2UgdGhlbSBtb3JlIGNvbnZlbmllbnQgdG8gdXNlLiBBbHNvIGZpeCB0aGVpcgorICAgICAgICB1
c2FnZSB0byBtYWtlIHVzZSBvZiB0aGUgbmV3bHkgcmV0dXJuZWQgdmFsdWUuCisKKyAgICAgICAg
VGhpcyBjaGFuZ2UgaXMgY29uc2lzdGVudCB3aXRoIGVpbmFfc3RyaW5nc2hhcmVfcmVmKCkKKyAg
ICAgICAgaW4gRUZMIGFuZCBnX29iamVjdF9yZWYoKSBpbiBnbGliLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0LmNwcDoKKyAgICAgICAgKGNyZWF0
ZUVpbmFMaXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJk
X2xpc3RfaXRlbS5jcHA6CisgICAgICAgIChld2tfYmFja19mb3J3YXJkX2xpc3RfaXRlbV9yZWYp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19iYWNrX2ZvcndhcmRfbGlzdF9pdGVt
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwOgorICAgICAg
ICAoZXdrX2NvbnRleHRfZG93bmxvYWRfam9iX2FkZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2Rvd25sb2FkX2pvYi5jcHA6CisgICAgICAgIChld2tfZG93bmxvYWRfam9iX3Jl
Zik6CisgICAgICAgIChld2tfZG93bmxvYWRfam9iX3Jlc3BvbnNlX3NldCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Rvd25sb2FkX2pvYi5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL2V3a19mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdC5jcHA6CisgICAgICAgIChld2tf
Zm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfcmVmKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfaW50ZW50LmNwcDoKKyAgICAgICAgKGV3a19pbnRlbnRfcmVmKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2ludGVudF9zZXJ2aWNlLmNwcDoKKyAgICAgICAgKGV3a19pbnRlbnRfc2Vydmlj
ZV9yZWYpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNp
c2lvbi5jcHA6CisgICAgICAgIChld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fcmVmKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNp
b24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3QuY3BwOgor
ICAgICAgICAoZXdrX3VybF9yZXF1ZXN0X3JlZik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3VybF9yZXF1ZXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3Vy
bF9yZXNwb25zZS5jcHA6CisgICAgICAgIChld2tfdXJsX3Jlc3BvbnNlX3JlZik6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuY3BwOgorICAgICAgICAoZXdrX3Vy
bF9zY2hlbWVfcmVxdWVzdF9yZWYpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a191
cmxfc2NoZW1lX3JlcXVlc3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmll
dy5jcHA6CisgICAgICAgIChld2tfdmlld19yZXNvdXJjZV9sb2FkX2luaXRpYXRlZCk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3dlYl9yZXNvdXJjZS5jcHA6CisgICAgICAgIChl
d2tfd2ViX3Jlc291cmNlX3JlZik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3dl
Yl9yZXNvdXJjZS5oOgorCiAyMDEyLTA5LTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI3ODc2
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tf
Zm9yd2FyZF9saXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19i
YWNrX2ZvcndhcmRfbGlzdC5jcHAKaW5kZXggZjZiZDBhNy4uYmU4NjZmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJk
X2xpc3QuY3BwCkBAIC05NSw4ICs5NSw3IEBAIHN0YXRpYyBpbmxpbmUgRWluYV9MaXN0KiBjcmVh
dGVFaW5hTGlzdChjb25zdCBFd2tfQmFja19Gb3J3YXJkX0xpc3QqIGxpc3QsIFdLQXJyCiAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgIFdLQmFja0Zvcndh
cmRMaXN0SXRlbVJlZiB3a0l0ZW0gPSBzdGF0aWNfY2FzdDxXS0JhY2tGb3J3YXJkTGlzdEl0ZW1S
ZWY+KFdLQXJyYXlHZXRJdGVtQXRJbmRleCh3a0xpc3QsIGkpKTsKICAgICAgICAgRXdrX0JhY2tf
Rm9yd2FyZF9MaXN0X0l0ZW0qIGl0ZW0gPSBhZGRJdGVtVG9XcmFwcGVyQ2FjaGUobGlzdCwgd2tJ
dGVtKTsKLSAgICAgICAgZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fcmVmKGl0ZW0pOwotICAg
ICAgICByZXN1bHQgPSBlaW5hX2xpc3RfYXBwZW5kKHJlc3VsdCwgaXRlbSk7CisgICAgICAgIHJl
c3VsdCA9IGVpbmFfbGlzdF9hcHBlbmQocmVzdWx0LCBld2tfYmFja19mb3J3YXJkX2xpc3RfaXRl
bV9yZWYoaXRlbSkpOwogICAgIH0KIAogICAgIHJldHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJkX2xpc3RfaXRl
bS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJk
X2xpc3RfaXRlbS5jcHAKaW5kZXggODcxMTg3ZC4uNTY3OTc3MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19iYWNrX2ZvcndhcmRf
bGlzdF9pdGVtLmNwcApAQCAtNjUsMTAgKzY1LDEyIEBAIHN0cnVjdCBfRXdrX0JhY2tfRm9yd2Fy
ZF9MaXN0X0l0ZW0gewogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFdLQmFja0ZvcndhcmRMaXN0
SXRlbVJlZiB3a0l0ZW1fID0gKGl0ZW0pLT53a0l0ZW0uZ2V0KCkKIAotdm9pZCBld2tfYmFja19m
b3J3YXJkX2xpc3RfaXRlbV9yZWYoRXdrX0JhY2tfRm9yd2FyZF9MaXN0X0l0ZW0qIGl0ZW0pCitF
d2tfQmFja19Gb3J3YXJkX0xpc3RfSXRlbSogZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fcmVm
KEV3a19CYWNrX0ZvcndhcmRfTGlzdF9JdGVtKiBpdGVtKQogewotICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOKGl0ZW0pOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChp
dGVtLCAwKTsKICAgICArK2l0ZW0tPl9fcmVmOworCisgICAgcmV0dXJuIGl0ZW07CiB9CiAKIHZv
aWQgZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fdW5yZWYoRXdrX0JhY2tfRm9yd2FyZF9MaXN0
X0l0ZW0qIGl0ZW0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfYmFja19mb3J3YXJkX2xpc3RfaXRlbS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW0uaAppbmRleCA4MTFmMGUxLi5hMTIy
N2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFj
a19mb3J3YXJkX2xpc3RfaXRlbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19iYWNrX2ZvcndhcmRfbGlzdF9pdGVtLmgKQEAgLTQ0LDggKzQ0LDEwIEBAIHR5cGVk
ZWYgc3RydWN0IF9Fd2tfQmFja19Gb3J3YXJkX0xpc3RfSXRlbSBFd2tfQmFja19Gb3J3YXJkX0xp
c3RfSXRlbTsKICAqIEluY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZlbiBv
YmplY3QuCiAgKgogICogQHBhcmFtIGl0ZW0gdGhlIGJhY2stZm9yd2FyZCBsaXN0IGl0ZW0gaW5z
dGFuY2UgdG8gaW5jcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAorICoKKyAqIEByZXR1cm4gYSBw
b2ludGVyIHRvIHRoZSBvYmplY3Qgb24gc3VjY2VzcywgQGMgTlVMTCBvdGhlcndpc2UuCiAgKi8K
LUVBUEkgdm9pZCBld2tfYmFja19mb3J3YXJkX2xpc3RfaXRlbV9yZWYoRXdrX0JhY2tfRm9yd2Fy
ZF9MaXN0X0l0ZW0gKml0ZW0pOworRUFQSSBFd2tfQmFja19Gb3J3YXJkX0xpc3RfSXRlbSAqZXdr
X2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fcmVmKEV3a19CYWNrX0ZvcndhcmRfTGlzdF9JdGVtICpp
dGVtKTsKIAogLyoqCiAgKiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2
ZW4gb2JqZWN0LCBwb3NzaWJseSBmcmVlaW5nIGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCmluZGV4IDYwYzc5ZTEuLmUyM2Y2YjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAK
QEAgLTE1MSw4ICsxNTEsNyBAQCB2b2lkIGV3a19jb250ZXh0X2Rvd25sb2FkX2pvYl9hZGQoRXdr
X0NvbnRleHQqIGV3a0NvbnRleHQsIEV3a19Eb3dubG9hZF9Kb2IqIGV3awogICAgIGlmIChld2tD
b250ZXh0LT5kb3dubG9hZEpvYnMuY29udGFpbnMoZG93bmxvYWRJZCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGV3a19kb3dubG9hZF9qb2JfcmVmKGV3a0Rvd25sb2FkKTsKLSAgICBld2tDb250
ZXh0LT5kb3dubG9hZEpvYnMuYWRkKGRvd25sb2FkSWQsIGV3a0Rvd25sb2FkKTsKKyAgICBld2tD
b250ZXh0LT5kb3dubG9hZEpvYnMuYWRkKGRvd25sb2FkSWQsIGV3a19kb3dubG9hZF9qb2JfcmVm
KGV3a0Rvd25sb2FkKSk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2Rvd25sb2FkX2pvYi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfZG93bmxvYWRfam9iLmNwcAppbmRleCBhMjdhYmM0Li42MTI5Nzky
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZG93bmxv
YWRfam9iLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZG93
bmxvYWRfam9iLmNwcApAQCAtNzYsMTEgKzc2LDEzIEBAIHN0cnVjdCBfRXdrX0Rvd25sb2FkX0pv
YiB7CiAgICAgfQogfTsKIAotdm9pZCBld2tfZG93bmxvYWRfam9iX3JlZihFd2tfRG93bmxvYWRf
Sm9iKiBkb3dubG9hZCkKK0V3a19Eb3dubG9hZF9Kb2IqIGV3a19kb3dubG9hZF9qb2JfcmVmKEV3
a19Eb3dubG9hZF9Kb2IqIGRvd25sb2FkKQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVU
VVJOKGRvd25sb2FkKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZG93bmxv
YWQsIDApOwogCiAgICAgKytkb3dubG9hZC0+X19yZWY7CisKKyAgICByZXR1cm4gZG93bmxvYWQ7
CiB9CiAKIHZvaWQgZXdrX2Rvd25sb2FkX2pvYl91bnJlZihFd2tfRG93bmxvYWRfSm9iKiBkb3du
bG9hZCkKQEAgLTIyMSw4ICsyMjMsNyBAQCB2b2lkIGV3a19kb3dubG9hZF9qb2JfcmVzcG9uc2Vf
c2V0KEV3a19Eb3dubG9hZF9Kb2IqIGRvd25sb2FkLCBFd2tfVXJsX1Jlc3BvbnNlKgogICAgIEVJ
TkFfU0FGRVRZX09OX05VTExfUkVUVVJOKGRvd25sb2FkKTsKICAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTihyZXNwb25zZSk7CiAKLSAgICBld2tfdXJsX3Jlc3BvbnNlX3JlZihyZXNwb25z
ZSk7Ci0gICAgZG93bmxvYWQtPnJlc3BvbnNlID0gcmVzcG9uc2U7CisgICAgZG93bmxvYWQtPnJl
c3BvbnNlID0gZXdrX3VybF9yZXNwb25zZV9yZWYocmVzcG9uc2UpOwogfQogCiAvKioKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kb3dubG9hZF9qb2Iu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kb3dubG9hZF9qb2IuaApp
bmRleCA2OGYwM2ZjLi5mZGNjMTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfZG93bmxvYWRfam9iLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2Rvd25sb2FkX2pvYi5oCkBAIC03MCw4ICs3MCwxMCBAQCB0eXBlZGVm
IGVudW0gX0V3a19Eb3dubG9hZF9Kb2JfU3RhdGUgRXdrX0Rvd25sb2FkX0pvYl9TdGF0ZTsKICAq
IEluY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZlbiBvYmplY3QuCiAgKgog
ICogQHBhcmFtIGRvd25sb2FkIHRoZSBkb3dubG9hZCBvYmplY3QgdG8gaW5jcmVhc2UgdGhlIHJl
ZmVyZW5jZSBjb3VudAorICoKKyAqIEByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBvYmplY3Qgb24g
c3VjY2VzcywgQGMgTlVMTCBvdGhlcndpc2UuCiAgKi8KLUVBUEkgdm9pZCBld2tfZG93bmxvYWRf
am9iX3JlZihFd2tfRG93bmxvYWRfSm9iICpkb3dubG9hZCk7CitFQVBJIEV3a19Eb3dubG9hZF9K
b2IgKmV3a19kb3dubG9hZF9qb2JfcmVmKEV3a19Eb3dubG9hZF9Kb2IgKmRvd25sb2FkKTsKIAog
LyoqCiAgKiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0
LCBwb3NzaWJseSBmcmVlaW5nIGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdC5jcHAKaW5k
ZXggNzA3MjE3My4uODBhNWZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3QuY3BwCkBA
IC02NSwxMCArNjUsMTIgQEAgc3RydWN0IF9Fd2tfRm9ybV9TdWJtaXNzaW9uX1JlcXVlc3Qgewog
ICAgIH0KIH07CiAKLXZvaWQgZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3JlZihFd2tfRm9y
bV9TdWJtaXNzaW9uX1JlcXVlc3QqIHJlcXVlc3QpCitFd2tfRm9ybV9TdWJtaXNzaW9uX1JlcXVl
c3QqIGV3a19mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9yZWYoRXdrX0Zvcm1fU3VibWlzc2lvbl9S
ZXF1ZXN0KiByZXF1ZXN0KQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHJlcXVl
c3QpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChyZXF1ZXN0LCAwKTsKICAg
ICArK3JlcXVlc3QtPl9fcmVmOworCisgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKIHZvaWQgZXdr
X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3VucmVmKEV3a19Gb3JtX1N1Ym1pc3Npb25fUmVxdWVz
dCogcmVxdWVzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmgKaW5kZXggZmE2N2U5My4uOTUy
MWU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zv
cm1fc3VibWlzc2lvbl9yZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmgKQEAgLTQ3LDggKzQ3LDEwIEBAIHR5
cGVkZWYgc3RydWN0IF9Fd2tfRm9ybV9TdWJtaXNzaW9uX1JlcXVlc3QgRXdrX0Zvcm1fU3VibWlz
c2lvbl9SZXF1ZXN0OwogICogSW5jcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIGdp
dmVuIG9iamVjdC4KICAqCiAgKiBAcGFyYW0gcmVxdWVzdCB0aGUgcmVxdWVzdCBvYmplY3QgdG8g
aW5jcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAorICoKKyAqIEByZXR1cm4gYSBwb2ludGVyIHRv
IHRoZSBvYmplY3Qgb24gc3VjY2VzcywgQGMgTlVMTCBvdGhlcndpc2UuCiAgKi8KLUVBUEkgdm9p
ZCBld2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfcmVmKEV3a19Gb3JtX1N1Ym1pc3Npb25fUmVx
dWVzdCAqcmVxdWVzdCk7CitFQVBJIEV3a19Gb3JtX1N1Ym1pc3Npb25fUmVxdWVzdCAqZXdrX2Zv
cm1fc3VibWlzc2lvbl9yZXF1ZXN0X3JlZihFd2tfRm9ybV9TdWJtaXNzaW9uX1JlcXVlc3QgKnJl
cXVlc3QpOwogCiAvKioKICAqIERlY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBn
aXZlbiBvYmplY3QsIHBvc3NpYmx5IGZyZWVpbmcgaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQuY3BwCmluZGV4IGVkNTk1MDMuLmVlNmI5M2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQuY3BwCkBA
IC03OSwxMiArNzksMTQgQEAgc3RydWN0IF9Fd2tfSW50ZW50IHsKICAgICB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBXS0lu
dGVudERhdGFSZWYgd2tJbnRlbnRfID0gKGludGVudCktPndrSW50ZW50LmdldCgpCiAKLXZvaWQg
ZXdrX2ludGVudF9yZWYoRXdrX0ludGVudCogaW50ZW50KQorRXdrX0ludGVudCogZXdrX2ludGVu
dF9yZWYoRXdrX0ludGVudCogaW50ZW50KQogewogI2lmIEVOQUJMRShXRUJfSU5URU5UUykKLSAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihpbnRlbnQpOworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTChpbnRlbnQsIDApOwogICAgICsraW50ZW50LT5fX3JlZjsKICNlbmRp
ZgorCisgICAgcmV0dXJuIGludGVudDsKIH0KIAogdm9pZCBld2tfaW50ZW50X3VucmVmKEV3a19J
bnRlbnQqIGludGVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19pbnRlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19p
bnRlbnQuaAppbmRleCBhYmNmZmE1Li41Yjg2OTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudC5oCkBAIC00NCw4ICs0NCwxMCBAQCB0eXBlZGVmIHN0
cnVjdCBfRXdrX0ludGVudCBFd2tfSW50ZW50OwogICogSW5jcmVhc2VzIHRoZSByZWZlcmVuY2Ug
Y291bnQgb2YgdGhlIGdpdmVuIG9iamVjdC4KICAqCiAgKiBAcGFyYW0gaW50ZW50IHRoZSBpbnRl
bnQgb2JqZWN0IHRvIGluY3JlYXNlIHRoZSByZWZlcmVuY2UgY291bnQKKyAqCisgKiBAcmV0dXJu
IGEgcG9pbnRlciB0byB0aGUgb2JqZWN0IG9uIHN1Y2Nlc3MsIEBjIE5VTEwgb3RoZXJ3aXNlLgog
ICovCi1FQVBJIHZvaWQgZXdrX2ludGVudF9yZWYoRXdrX0ludGVudCAqaW50ZW50KTsKK0VBUEkg
RXdrX0ludGVudCAqZXdrX2ludGVudF9yZWYoRXdrX0ludGVudCAqaW50ZW50KTsKIAogLyoqCiAg
KiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0LCBwb3Nz
aWJseSBmcmVlaW5nIGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2ludGVudF9zZXJ2aWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5jcHAKaW5kZXggMTkyMTU3Mi4uMjc5ZTkwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2
aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50
X3NlcnZpY2UuY3BwCkBAIC02NywxMiArNjcsMTQgQEAgc3RydWN0IF9Fd2tfSW50ZW50X1NlcnZp
Y2UgewogICAgIH0KIH07CiAKLXZvaWQgZXdrX2ludGVudF9zZXJ2aWNlX3JlZihFd2tfSW50ZW50
X1NlcnZpY2UqIHNlcnZpY2UpCitFd2tfSW50ZW50X1NlcnZpY2UqIGV3a19pbnRlbnRfc2Vydmlj
ZV9yZWYoRXdrX0ludGVudF9TZXJ2aWNlKiBzZXJ2aWNlKQogewogI2lmIEVOQUJMRShXRUJfSU5U
RU5UU19UQUcpCi0gICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4oc2VydmljZSk7CisgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNlcnZpY2UsIDApOwogICAgICsrc2Vydmlj
ZS0+X19yZWY7CiAjZW5kaWYKKworICAgIHJldHVybiBzZXJ2aWNlOwogfQogCiB2b2lkIGV3a19p
bnRlbnRfc2VydmljZV91bnJlZihFd2tfSW50ZW50X1NlcnZpY2UqIHNlcnZpY2UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50X3NlcnZpY2Uu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5o
CmluZGV4IDk1OGUwNTQuLmRiOTQ2ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5oCkBAIC00NCw4ICs0NCwxMCBAQCB0
eXBlZGVmIHN0cnVjdCBfRXdrX0ludGVudF9TZXJ2aWNlIEV3a19JbnRlbnRfU2VydmljZTsKICAq
IEluY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZlbiBvYmplY3QuCiAgKgog
ICogQHBhcmFtIHNlcnZpY2UgdGhlIGludGVudCBzZXJ2aWNlIG9iamVjdCB0byBpbmNyZWFzZSB0
aGUgcmVmZXJlbmNlIGNvdW50CisgKgorICogQHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIG9iamVj
dCBvbiBzdWNjZXNzLCBAYyBOVUxMIG90aGVyd2lzZS4KICAqLwotRUFQSSB2b2lkIGV3a19pbnRl
bnRfc2VydmljZV9yZWYoRXdrX0ludGVudF9TZXJ2aWNlICpzZXJ2aWNlKTsKK0VBUEkgRXdrX0lu
dGVudF9TZXJ2aWNlICpld2tfaW50ZW50X3NlcnZpY2VfcmVmKEV3a19JbnRlbnRfU2VydmljZSAq
c2VydmljZSk7CiAKIC8qKgogICogRGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhl
IGdpdmVuIG9iamVjdCwgcG9zc2libHkgZnJlZWluZyBpdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xp
Y3lfZGVjaXNpb24uY3BwCmluZGV4IDE5MDgxMDkuLmQ0NjgwNWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lv
bi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX25hdmlnYXRp
b25fcG9saWN5X2RlY2lzaW9uLmNwcApAQCAtNzMsMTEgKzczLDEzIEBAIHN0cnVjdCBfRXdrX05h
dmlnYXRpb25fUG9saWN5X0RlY2lzaW9uIHsKICAgICB9CiB9OwogCi12b2lkIGV3a19uYXZpZ2F0
aW9uX3BvbGljeV9kZWNpc2lvbl9yZWYoRXdrX05hdmlnYXRpb25fUG9saWN5X0RlY2lzaW9uKiBk
ZWNpc2lvbikKK0V3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lvbiogZXdrX25hdmlnYXRpb25f
cG9saWN5X2RlY2lzaW9uX3JlZihFd2tfTmF2aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb24qIGRlY2lz
aW9uKQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKGRlY2lzaW9uKTsKKyAgICBF
SU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGVjaXNpb24sIDApOwogCiAgICAgKytkZWNp
c2lvbi0+X19yZWY7CisKKyAgICByZXR1cm4gZGVjaXNpb247CiB9CiAKIHZvaWQgZXdrX25hdmln
YXRpb25fcG9saWN5X2RlY2lzaW9uX3VucmVmKEV3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lv
biogZGVjaXNpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5oCmluZGV4IGRlYzlj
MDkuLjlmM2MwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5oCkBAIC03MCw4
ICs3MCwxMCBAQCB0eXBlZGVmIGVudW0gewogICogSW5jcmVhc2VzIHRoZSByZWZlcmVuY2UgY291
bnQgb2YgdGhlIGdpdmVuIG9iamVjdC4KICAqCiAgKiBAcGFyYW0gZGVjaXNpb24gdGhlIHBvbGlj
eSBkZWNpc2lvbiBvYmplY3QgdG8gaW5jcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAorICoKKyAq
IEByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBvYmplY3Qgb24gc3VjY2VzcywgQGMgTlVMTCBvdGhl
cndpc2UuCiAgKi8KLUVBUEkgdm9pZCBld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fcmVm
KEV3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lvbiAqZGVjaXNpb24pOworRUFQSSBFd2tfTmF2
aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb24gKmV3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9y
ZWYoRXdrX05hdmlnYXRpb25fUG9saWN5X0RlY2lzaW9uICpkZWNpc2lvbik7CiAKIC8qKgogICog
RGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIGdpdmVuIG9iamVjdCwgcG9zc2li
bHkgZnJlZWluZyBpdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a191cmxfcmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfdXJsX3JlcXVlc3QuY3BwCmluZGV4IDU4MTZiMmYuLjllN2M4MGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVxdWVzdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXF1ZXN0LmNwcApA
QCAtNjAsMTAgKzYwLDEyIEBAIHN0cnVjdCBfRXdrX1VybF9SZXF1ZXN0IHsKICAgICB9CiB9Owog
Ci12b2lkIGV3a191cmxfcmVxdWVzdF9yZWYoRXdrX1VybF9SZXF1ZXN0KiByZXF1ZXN0KQorRXdr
X1VybF9SZXF1ZXN0KiBld2tfdXJsX3JlcXVlc3RfcmVmKEV3a19VcmxfUmVxdWVzdCogcmVxdWVz
dCkKIHsKLSAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihyZXF1ZXN0KTsKKyAgICBFSU5B
X1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwocmVxdWVzdCwgMCk7CiAgICAgKytyZXF1ZXN0LT5f
X3JlZjsKKworICAgIHJldHVybiByZXF1ZXN0OwogfQogCiB2b2lkIGV3a191cmxfcmVxdWVzdF91
bnJlZihFd2tfVXJsX1JlcXVlc3QqIHJlcXVlc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVxdWVzdC5oCmluZGV4IGVjNDRmNWMuLmY2MWI4OGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVx
dWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVx
dWVzdC5oCkBAIC00NCw4ICs0NCwxMCBAQCB0eXBlZGVmIHN0cnVjdCBfRXdrX1VybF9SZXF1ZXN0
IEV3a19VcmxfUmVxdWVzdDsKICAqIEluY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRo
ZSBnaXZlbiBvYmplY3QuCiAgKgogICogQHBhcmFtIHJlcXVlc3QgdGhlIFVSTCByZXF1ZXN0IG9i
amVjdCB0byBpbmNyZWFzZSB0aGUgcmVmZXJlbmNlIGNvdW50CisgKgorICogQHJldHVybiBhIHBv
aW50ZXIgdG8gdGhlIG9iamVjdCBvbiBzdWNjZXNzLCBAYyBOVUxMIG90aGVyd2lzZS4KICAqLwot
RUFQSSB2b2lkIGV3a191cmxfcmVxdWVzdF9yZWYoRXdrX1VybF9SZXF1ZXN0ICpyZXF1ZXN0KTsK
K0VBUEkgRXdrX1VybF9SZXF1ZXN0ICpld2tfdXJsX3JlcXVlc3RfcmVmKEV3a19VcmxfUmVxdWVz
dCAqcmVxdWVzdCk7CiAKIC8qKgogICogRGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2Yg
dGhlIGdpdmVuIG9iamVjdCwgcG9zc2libHkgZnJlZWluZyBpdC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVzcG9uc2UuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5jcHAKaW5kZXggOGQw
YThlZS4uOGMxYjFiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3VybF9yZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3VybF9yZXNwb25zZS5jcHAKQEAgLTU4LDEwICs1OCwxMiBAQCBzdHJ1Y3QgX0V3
a19VcmxfUmVzcG9uc2UgewogICAgIH0KIH07CiAKLXZvaWQgZXdrX3VybF9yZXNwb25zZV9yZWYo
RXdrX1VybF9SZXNwb25zZSogcmVzcG9uc2UpCitFd2tfVXJsX1Jlc3BvbnNlKiBld2tfdXJsX3Jl
c3BvbnNlX3JlZihFd2tfVXJsX1Jlc3BvbnNlKiByZXNwb25zZSkKIHsKLSAgICBFSU5BX1NBRkVU
WV9PTl9OVUxMX1JFVFVSTihyZXNwb25zZSk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRV
Uk5fVkFMKHJlc3BvbnNlLCAwKTsKICAgICArK3Jlc3BvbnNlLT5fX3JlZjsKKworICAgIHJldHVy
biByZXNwb25zZTsKIH0KIAogdm9pZCBld2tfdXJsX3Jlc3BvbnNlX3VucmVmKEV3a19VcmxfUmVz
cG9uc2UqIHJlc3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3VybF9yZXNwb25zZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3VybF9yZXNwb25zZS5oCmluZGV4IDM1NjMxZWIuLjI1ODE0ZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVzcG9uc2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jlc3BvbnNlLmgKQEAg
LTQ0LDggKzQ0LDEwIEBAIHR5cGVkZWYgc3RydWN0IF9Fd2tfVXJsX1Jlc3BvbnNlIEV3a19Vcmxf
UmVzcG9uc2U7CiAgKiBJbmNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4g
b2JqZWN0LgogICoKICAqIEBwYXJhbSByZXNwb25zZSB0aGUgVVJMIHJlc3BvbnNlIG9iamVjdCB0
byBpbmNyZWFzZSB0aGUgcmVmZXJlbmNlIGNvdW50CisgKgorICogQHJldHVybiBhIHBvaW50ZXIg
dG8gdGhlIG9iamVjdCBvbiBzdWNjZXNzLCBAYyBOVUxMIG90aGVyd2lzZS4KICAqLwotRUFQSSB2
b2lkIGV3a191cmxfcmVzcG9uc2VfcmVmKEV3a19VcmxfUmVzcG9uc2UgKnJlc3BvbnNlKTsKK0VB
UEkgRXdrX1VybF9SZXNwb25zZSAqZXdrX3VybF9yZXNwb25zZV9yZWYoRXdrX1VybF9SZXNwb25z
ZSAqcmVzcG9uc2UpOwogCiAvKioKICAqIERlY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9m
IHRoZSBnaXZlbiBvYmplY3QsIHBvc3NpYmx5IGZyZWVpbmcgaXQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3Qu
Y3BwCmluZGV4IDMyYzMyODEuLmM2MGM1ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuY3BwCkBAIC02
NywxMCArNjcsMTIgQEAgc3RydWN0IF9Fd2tfVXJsX1NjaGVtZV9SZXF1ZXN0IHsKICAgICB9CiB9
OwogCi12b2lkIGV3a191cmxfc2NoZW1lX3JlcXVlc3RfcmVmKEV3a19VcmxfU2NoZW1lX1JlcXVl
c3QqIHJlcXVlc3QpCitFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiBld2tfdXJsX3NjaGVtZV9yZXF1
ZXN0X3JlZihFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiByZXF1ZXN0KQogewotICAgIEVJTkFfU0FG
RVRZX09OX05VTExfUkVUVVJOKHJlcXVlc3QpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVU
VVJOX1ZBTChyZXF1ZXN0LCAwKTsKICAgICArK3JlcXVlc3QtPl9fcmVmOworCisgICAgcmV0dXJu
IHJlcXVlc3Q7CiB9CiAKIHZvaWQgZXdrX3VybF9zY2hlbWVfcmVxdWVzdF91bnJlZihFd2tfVXJs
X1NjaGVtZV9SZXF1ZXN0KiByZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5oCmluZGV4IGRlYWFmMTgu
Ljk3Mjc1OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a191cmxfc2NoZW1lX3JlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0LmgKQEAgLTQ0LDggKzQ0LDEwIEBAIHR5cGVkZWYg
c3RydWN0IF9Fd2tfVXJsX1NjaGVtZV9SZXF1ZXN0IEV3a19VcmxfU2NoZW1lX1JlcXVlc3Q7CiAg
KiBJbmNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0LgogICoK
ICAqIEBwYXJhbSByZXF1ZXN0IHRoZSBVUkwgc2NoZW1lIHJlcXVlc3Qgb2JqZWN0IHRvIGluY3Jl
YXNlIHRoZSByZWZlcmVuY2UgY291bnQKKyAqCisgKiBAcmV0dXJuIGEgcG9pbnRlciB0byB0aGUg
b2JqZWN0IG9uIHN1Y2Nlc3MsIEBjIE5VTEwgb3RoZXJ3aXNlLgogICovCi1FQVBJIHZvaWQgZXdr
X3VybF9zY2hlbWVfcmVxdWVzdF9yZWYoRXdrX1VybF9TY2hlbWVfUmVxdWVzdCAqcmVxdWVzdCk7
CitFQVBJIEV3a19VcmxfU2NoZW1lX1JlcXVlc3QgKmV3a191cmxfc2NoZW1lX3JlcXVlc3RfcmVm
KEV3a19VcmxfU2NoZW1lX1JlcXVlc3QgKnJlcXVlc3QpOwogCiAvKioKICAqIERlY3JlYXNlcyB0
aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZlbiBvYmplY3QsIHBvc3NpYmx5IGZyZWVpbmcg
aXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5k
ZXggMzE5NmQwYi4uZGM3N2ZiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3LmNwcApAQCAtODg5LDggKzg4OSw3IEBAIHZvaWQgZXdrX3ZpZXdfcmVzb3Vy
Y2VfbG9hZF9pbml0aWF0ZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHVpbnQ2NF90IHJlc291cmNl
SWRlCiAgICAgRXdrX1dlYl9SZXNvdXJjZV9SZXF1ZXN0IHJlc291cmNlUmVxdWVzdCA9IHtyZXNv
dXJjZSwgcmVxdWVzdCwgMH07CiAKICAgICAvLyBLZWVwIHRoZSByZXNvdXJjZSBpbnRlcm5hbGx5
IHRvIHJldXNlIGl0IGxhdGVyLgotICAgIGV3a193ZWJfcmVzb3VyY2VfcmVmKHJlc291cmNlKTsK
LSAgICBwcml2LT5sb2FkaW5nUmVzb3VyY2VzTWFwLmFkZChyZXNvdXJjZUlkZW50aWZpZXIsIHJl
c291cmNlKTsKKyAgICBwcml2LT5sb2FkaW5nUmVzb3VyY2VzTWFwLmFkZChyZXNvdXJjZUlkZW50
aWZpZXIsIGV3a193ZWJfcmVzb3VyY2VfcmVmKHJlc291cmNlKSk7CiAKICAgICBldmFzX29iamVj
dF9zbWFydF9jYWxsYmFja19jYWxsKGV3a1ZpZXcsICJyZXNvdXJjZSxyZXF1ZXN0LG5ldyIsICZy
ZXNvdXJjZVJlcXVlc3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3dlYl9yZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfd2ViX3Jlc291cmNlLmNwcAppbmRleCAzNTU1OTJkLi44OTg3OWVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfd2ViX3Jlc291cmNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfd2ViX3Jlc291
cmNlLmNwcApAQCAtNDcsMTEgKzQ3LDEzIEBAIHN0cnVjdCBfRXdrX1dlYl9SZXNvdXJjZSB7CiAg
ICAgfQogfTsKIAotdm9pZCBld2tfd2ViX3Jlc291cmNlX3JlZihFd2tfV2ViX1Jlc291cmNlKiBy
ZXNvdXJjZSkKK0V3a19XZWJfUmVzb3VyY2UqIGV3a193ZWJfcmVzb3VyY2VfcmVmKEV3a19XZWJf
UmVzb3VyY2UqIHJlc291cmNlKQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHJl
c291cmNlKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwocmVzb3VyY2UsIDAp
OwogCiAgICAgKytyZXNvdXJjZS0+X19yZWY7CisKKyAgICByZXR1cm4gcmVzb3VyY2U7CiB9CiAK
IHZvaWQgZXdrX3dlYl9yZXNvdXJjZV91bnJlZihFd2tfV2ViX1Jlc291cmNlKiByZXNvdXJjZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfcmVz
b3VyY2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfcmVzb3Vy
Y2UuaAppbmRleCA0N2ZkN2FkLi5kYzJjZjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfd2ViX3Jlc291cmNlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3dlYl9yZXNvdXJjZS5oCkBAIC00NCw4ICs0NCwxMCBAQCB0
eXBlZGVmIHN0cnVjdCBfRXdrX1dlYl9SZXNvdXJjZSBFd2tfV2ViX1Jlc291cmNlOwogICogSW5j
cmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIGdpdmVuIG9iamVjdC4KICAqCiAgKiBA
cGFyYW0gcmVzb3VyY2UgdGhlIHJlc291cmNlIG9iamVjdCB0byBpbmNyZWFzZSB0aGUgcmVmZXJl
bmNlIGNvdW50CisgKgorICogQHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIG9iamVjdCBvbiBzdWNj
ZXNzLCBAYyBOVUxMIG90aGVyd2lzZS4KICAqLwotRUFQSSB2b2lkIGV3a193ZWJfcmVzb3VyY2Vf
cmVmKEV3a19XZWJfUmVzb3VyY2UgKnJlc291cmNlKTsKK0VBUEkgRXdrX1dlYl9SZXNvdXJjZSAq
ZXdrX3dlYl9yZXNvdXJjZV9yZWYoRXdrX1dlYl9SZXNvdXJjZSAqcmVzb3VyY2UpOwogCiAvKioK
ICAqIERlY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZlbiBvYmplY3QsIHBv
c3NpYmx5IGZyZWVpbmcgaXQuCg==
</data>
<flag name="review"
          id="175346"
          type_id="1"
          status="+"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163797</attachid>
            <date>2012-09-13 00:15:08 -0700</date>
            <delta_ts>2012-09-13 00:35:36 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>96604_convenient_ref.patch</filename>
            <type>text/plain</type>
            <size>20314</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmZjY2M2ZiLi43Mzc0NjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUg
QEAKKzIwMTItMDktMTIgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIE1ha2UgX3JlZigpIGZ1bmN0aW9ucyByZXR1cm4g
dGhlIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTY2MDQKKworICAgICAgICBSZXZpZXdlZCBieSBHeXV5b3VuZyBLaW0uCisKKyAgICAgICAg
TWFrZSBfcmVmKCkgZnVuY3Rpb25zIHJldHVybiB0aGUgcmVmJ2Qgb2JqZWN0IHRvCisgICAgICAg
IG1ha2UgdGhlbSBtb3JlIGNvbnZlbmllbnQgdG8gdXNlLiBBbHNvIGZpeCB0aGVpcgorICAgICAg
ICB1c2FnZSB0byBtYWtlIHVzZSBvZiB0aGUgbmV3bHkgcmV0dXJuZWQgdmFsdWUuCisKKyAgICAg
ICAgVGhpcyBjaGFuZ2UgaXMgY29uc2lzdGVudCB3aXRoIGVpbmFfc3RyaW5nc2hhcmVfcmVmKCkK
KyAgICAgICAgaW4gRUZMIGFuZCBnX29iamVjdF9yZWYoKSBpbiBnbGliLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0LmNwcDoKKyAgICAgICAgKGNy
ZWF0ZUVpbmFMaXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3
YXJkX2xpc3RfaXRlbS5jcHA6CisgICAgICAgIChld2tfYmFja19mb3J3YXJkX2xpc3RfaXRlbV9y
ZWYpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19iYWNrX2ZvcndhcmRfbGlzdF9p
dGVtLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwOgorICAg
ICAgICAoZXdrX2NvbnRleHRfZG93bmxvYWRfam9iX2FkZCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2Rvd25sb2FkX2pvYi5jcHA6CisgICAgICAgIChld2tfZG93bmxvYWRfam9i
X3JlZik6CisgICAgICAgIChld2tfZG93bmxvYWRfam9iX3Jlc3BvbnNlX3NldCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Rvd25sb2FkX2pvYi5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdC5jcHA6CisgICAgICAgIChl
d2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfcmVmKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfaW50ZW50LmNwcDoKKyAgICAgICAgKGV3a19pbnRlbnRfcmVmKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2aWNlLmNwcDoKKyAgICAgICAgKGV3a19pbnRlbnRfc2Vy
dmljZV9yZWYpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2Vydmlj
ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9k
ZWNpc2lvbi5jcHA6CisgICAgICAgIChld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fcmVm
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVj
aXNpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3QuY3Bw
OgorICAgICAgICAoZXdrX3VybF9yZXF1ZXN0X3JlZik6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3VybF9yZXF1ZXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3VybF9yZXNwb25zZS5jcHA6CisgICAgICAgIChld2tfdXJsX3Jlc3BvbnNlX3JlZik6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuY3BwOgorICAgICAgICAoZXdr
X3VybF9zY2hlbWVfcmVxdWVzdF9yZWYpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3
a191cmxfc2NoZW1lX3JlcXVlc3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5jcHA6CisgICAgICAgIChld2tfdmlld19yZXNvdXJjZV9sb2FkX2luaXRpYXRlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3dlYl9yZXNvdXJjZS5jcHA6CisgICAgICAg
IChld2tfd2ViX3Jlc291cmNlX3JlZik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3dlYl9yZXNvdXJjZS5oOgorCiAyMDEyLTA5LTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI3
ODc2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Jh
Y2tfZm9yd2FyZF9saXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19iYWNrX2ZvcndhcmRfbGlzdC5jcHAKaW5kZXggZjZiZDBhNy4uYmU4NjZmYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3
YXJkX2xpc3QuY3BwCkBAIC05NSw4ICs5NSw3IEBAIHN0YXRpYyBpbmxpbmUgRWluYV9MaXN0KiBj
cmVhdGVFaW5hTGlzdChjb25zdCBFd2tfQmFja19Gb3J3YXJkX0xpc3QqIGxpc3QsIFdLQXJyCiAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgIFdLQmFja0Zv
cndhcmRMaXN0SXRlbVJlZiB3a0l0ZW0gPSBzdGF0aWNfY2FzdDxXS0JhY2tGb3J3YXJkTGlzdEl0
ZW1SZWY+KFdLQXJyYXlHZXRJdGVtQXRJbmRleCh3a0xpc3QsIGkpKTsKICAgICAgICAgRXdrX0Jh
Y2tfRm9yd2FyZF9MaXN0X0l0ZW0qIGl0ZW0gPSBhZGRJdGVtVG9XcmFwcGVyQ2FjaGUobGlzdCwg
d2tJdGVtKTsKLSAgICAgICAgZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fcmVmKGl0ZW0pOwot
ICAgICAgICByZXN1bHQgPSBlaW5hX2xpc3RfYXBwZW5kKHJlc3VsdCwgaXRlbSk7CisgICAgICAg
IHJlc3VsdCA9IGVpbmFfbGlzdF9hcHBlbmQocmVzdWx0LCBld2tfYmFja19mb3J3YXJkX2xpc3Rf
aXRlbV9yZWYoaXRlbSkpOwogICAgIH0KIAogICAgIHJldHVybiByZXN1bHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJkX2xpc3Rf
aXRlbS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3
YXJkX2xpc3RfaXRlbS5jcHAKaW5kZXggODcxMTg3ZC4uNTY3OTc3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19iYWNrX2Zvcndh
cmRfbGlzdF9pdGVtLmNwcApAQCAtNjUsMTAgKzY1LDEyIEBAIHN0cnVjdCBfRXdrX0JhY2tfRm9y
d2FyZF9MaXN0X0l0ZW0gewogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFdLQmFja0ZvcndhcmRM
aXN0SXRlbVJlZiB3a0l0ZW1fID0gKGl0ZW0pLT53a0l0ZW0uZ2V0KCkKIAotdm9pZCBld2tfYmFj
a19mb3J3YXJkX2xpc3RfaXRlbV9yZWYoRXdrX0JhY2tfRm9yd2FyZF9MaXN0X0l0ZW0qIGl0ZW0p
CitFd2tfQmFja19Gb3J3YXJkX0xpc3RfSXRlbSogZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1f
cmVmKEV3a19CYWNrX0ZvcndhcmRfTGlzdF9JdGVtKiBpdGVtKQogewotICAgIEVJTkFfU0FGRVRZ
X09OX05VTExfUkVUVVJOKGl0ZW0pOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZB
TChpdGVtLCAwKTsKICAgICArK2l0ZW0tPl9fcmVmOworCisgICAgcmV0dXJuIGl0ZW07CiB9CiAK
IHZvaWQgZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fdW5yZWYoRXdrX0JhY2tfRm9yd2FyZF9M
aXN0X0l0ZW0qIGl0ZW0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfYmFja19mb3J3YXJkX2xpc3RfaXRlbS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW0uaAppbmRleCA4MTFmMGUxLi5h
MTIyN2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
YmFja19mb3J3YXJkX2xpc3RfaXRlbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19iYWNrX2ZvcndhcmRfbGlzdF9pdGVtLmgKQEAgLTQ0LDggKzQ0LDEwIEBAIHR5
cGVkZWYgc3RydWN0IF9Fd2tfQmFja19Gb3J3YXJkX0xpc3RfSXRlbSBFd2tfQmFja19Gb3J3YXJk
X0xpc3RfSXRlbTsKICAqIEluY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZl
biBvYmplY3QuCiAgKgogICogQHBhcmFtIGl0ZW0gdGhlIGJhY2stZm9yd2FyZCBsaXN0IGl0ZW0g
aW5zdGFuY2UgdG8gaW5jcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAorICoKKyAqIEByZXR1cm4g
YSBwb2ludGVyIHRvIHRoZSBvYmplY3Qgb24gc3VjY2VzcywgQGMgTlVMTCBvdGhlcndpc2UuCiAg
Ki8KLUVBUEkgdm9pZCBld2tfYmFja19mb3J3YXJkX2xpc3RfaXRlbV9yZWYoRXdrX0JhY2tfRm9y
d2FyZF9MaXN0X0l0ZW0gKml0ZW0pOworRUFQSSBFd2tfQmFja19Gb3J3YXJkX0xpc3RfSXRlbSAq
ZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fcmVmKEV3a19CYWNrX0ZvcndhcmRfTGlzdF9JdGVt
ICppdGVtKTsKIAogLyoqCiAgKiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUg
Z2l2ZW4gb2JqZWN0LCBwb3NzaWJseSBmcmVlaW5nIGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCmluZGV4IDYwYzc5ZTEuLmUyM2Y2YjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5j
cHAKQEAgLTE1MSw4ICsxNTEsNyBAQCB2b2lkIGV3a19jb250ZXh0X2Rvd25sb2FkX2pvYl9hZGQo
RXdrX0NvbnRleHQqIGV3a0NvbnRleHQsIEV3a19Eb3dubG9hZF9Kb2IqIGV3awogICAgIGlmIChl
d2tDb250ZXh0LT5kb3dubG9hZEpvYnMuY29udGFpbnMoZG93bmxvYWRJZCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGV3a19kb3dubG9hZF9qb2JfcmVmKGV3a0Rvd25sb2FkKTsKLSAgICBld2tD
b250ZXh0LT5kb3dubG9hZEpvYnMuYWRkKGRvd25sb2FkSWQsIGV3a0Rvd25sb2FkKTsKKyAgICBl
d2tDb250ZXh0LT5kb3dubG9hZEpvYnMuYWRkKGRvd25sb2FkSWQsIGV3a19kb3dubG9hZF9qb2Jf
cmVmKGV3a0Rvd25sb2FkKSk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Rvd25sb2FkX2pvYi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfZG93bmxvYWRfam9iLmNwcAppbmRleCBhMjdhYmM0Li42MTI5
NzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZG93
bmxvYWRfam9iLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
ZG93bmxvYWRfam9iLmNwcApAQCAtNzYsMTEgKzc2LDEzIEBAIHN0cnVjdCBfRXdrX0Rvd25sb2Fk
X0pvYiB7CiAgICAgfQogfTsKIAotdm9pZCBld2tfZG93bmxvYWRfam9iX3JlZihFd2tfRG93bmxv
YWRfSm9iKiBkb3dubG9hZCkKK0V3a19Eb3dubG9hZF9Kb2IqIGV3a19kb3dubG9hZF9qb2JfcmVm
KEV3a19Eb3dubG9hZF9Kb2IqIGRvd25sb2FkKQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExf
UkVUVVJOKGRvd25sb2FkKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZG93
bmxvYWQsIDApOwogCiAgICAgKytkb3dubG9hZC0+X19yZWY7CisKKyAgICByZXR1cm4gZG93bmxv
YWQ7CiB9CiAKIHZvaWQgZXdrX2Rvd25sb2FkX2pvYl91bnJlZihFd2tfRG93bmxvYWRfSm9iKiBk
b3dubG9hZCkKQEAgLTIyMSw4ICsyMjMsNyBAQCB2b2lkIGV3a19kb3dubG9hZF9qb2JfcmVzcG9u
c2Vfc2V0KEV3a19Eb3dubG9hZF9Kb2IqIGRvd25sb2FkLCBFd2tfVXJsX1Jlc3BvbnNlKgogICAg
IEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKGRvd25sb2FkKTsKICAgICBFSU5BX1NBRkVUWV9P
Tl9OVUxMX1JFVFVSTihyZXNwb25zZSk7CiAKLSAgICBld2tfdXJsX3Jlc3BvbnNlX3JlZihyZXNw
b25zZSk7Ci0gICAgZG93bmxvYWQtPnJlc3BvbnNlID0gcmVzcG9uc2U7CisgICAgZG93bmxvYWQt
PnJlc3BvbnNlID0gZXdrX3VybF9yZXNwb25zZV9yZWYocmVzcG9uc2UpOwogfQogCiAvKioKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kb3dubG9hZF9q
b2IuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kb3dubG9hZF9qb2Iu
aAppbmRleCA2OGYwM2ZjLi5mZGNjMTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfZG93bmxvYWRfam9iLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2Rvd25sb2FkX2pvYi5oCkBAIC03MCw4ICs3MCwxMCBAQCB0eXBl
ZGVmIGVudW0gX0V3a19Eb3dubG9hZF9Kb2JfU3RhdGUgRXdrX0Rvd25sb2FkX0pvYl9TdGF0ZTsK
ICAqIEluY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZlbiBvYmplY3QuCiAg
KgogICogQHBhcmFtIGRvd25sb2FkIHRoZSBkb3dubG9hZCBvYmplY3QgdG8gaW5jcmVhc2UgdGhl
IHJlZmVyZW5jZSBjb3VudAorICoKKyAqIEByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBvYmplY3Qg
b24gc3VjY2VzcywgQGMgTlVMTCBvdGhlcndpc2UuCiAgKi8KLUVBUEkgdm9pZCBld2tfZG93bmxv
YWRfam9iX3JlZihFd2tfRG93bmxvYWRfSm9iICpkb3dubG9hZCk7CitFQVBJIEV3a19Eb3dubG9h
ZF9Kb2IgKmV3a19kb3dubG9hZF9qb2JfcmVmKEV3a19Eb3dubG9hZF9Kb2IgKmRvd25sb2FkKTsK
IAogLyoqCiAgKiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2Jq
ZWN0LCBwb3NzaWJseSBmcmVlaW5nIGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdC5jcHAK
aW5kZXggNzA3MjE3My4uODBhNWZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3QuY3Bw
CkBAIC02NSwxMCArNjUsMTIgQEAgc3RydWN0IF9Fd2tfRm9ybV9TdWJtaXNzaW9uX1JlcXVlc3Qg
ewogICAgIH0KIH07CiAKLXZvaWQgZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3JlZihFd2tf
Rm9ybV9TdWJtaXNzaW9uX1JlcXVlc3QqIHJlcXVlc3QpCitFd2tfRm9ybV9TdWJtaXNzaW9uX1Jl
cXVlc3QqIGV3a19mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9yZWYoRXdrX0Zvcm1fU3VibWlzc2lv
bl9SZXF1ZXN0KiByZXF1ZXN0KQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHJl
cXVlc3QpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChyZXF1ZXN0LCAwKTsK
ICAgICArK3JlcXVlc3QtPl9fcmVmOworCisgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKIHZvaWQg
ZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3VucmVmKEV3a19Gb3JtX1N1Ym1pc3Npb25fUmVx
dWVzdCogcmVxdWVzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmgKaW5kZXggZmE2N2U5My4u
OTUyMWU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmgKQEAgLTQ3LDggKzQ3LDEwIEBA
IHR5cGVkZWYgc3RydWN0IF9Fd2tfRm9ybV9TdWJtaXNzaW9uX1JlcXVlc3QgRXdrX0Zvcm1fU3Vi
bWlzc2lvbl9SZXF1ZXN0OwogICogSW5jcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhl
IGdpdmVuIG9iamVjdC4KICAqCiAgKiBAcGFyYW0gcmVxdWVzdCB0aGUgcmVxdWVzdCBvYmplY3Qg
dG8gaW5jcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAorICoKKyAqIEByZXR1cm4gYSBwb2ludGVy
IHRvIHRoZSBvYmplY3Qgb24gc3VjY2VzcywgQGMgTlVMTCBvdGhlcndpc2UuCiAgKi8KLUVBUEkg
dm9pZCBld2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfcmVmKEV3a19Gb3JtX1N1Ym1pc3Npb25f
UmVxdWVzdCAqcmVxdWVzdCk7CitFQVBJIEV3a19Gb3JtX1N1Ym1pc3Npb25fUmVxdWVzdCAqZXdr
X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3JlZihFd2tfRm9ybV9TdWJtaXNzaW9uX1JlcXVlc3Qg
KnJlcXVlc3QpOwogCiAvKioKICAqIERlY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRo
ZSBnaXZlbiBvYmplY3QsIHBvc3NpYmx5IGZyZWVpbmcgaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQuY3BwCmluZGV4IGVkNTk1MDMuLmVlNmI5M2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQuY3Bw
CkBAIC03OSwxMiArNzksMTQgQEAgc3RydWN0IF9Fd2tfSW50ZW50IHsKICAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBX
S0ludGVudERhdGFSZWYgd2tJbnRlbnRfID0gKGludGVudCktPndrSW50ZW50LmdldCgpCiAKLXZv
aWQgZXdrX2ludGVudF9yZWYoRXdrX0ludGVudCogaW50ZW50KQorRXdrX0ludGVudCogZXdrX2lu
dGVudF9yZWYoRXdrX0ludGVudCogaW50ZW50KQogewogI2lmIEVOQUJMRShXRUJfSU5URU5UUykK
LSAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihpbnRlbnQpOworICAgIEVJTkFfU0FGRVRZ
X09OX05VTExfUkVUVVJOX1ZBTChpbnRlbnQsIDApOwogICAgICsraW50ZW50LT5fX3JlZjsKICNl
bmRpZgorCisgICAgcmV0dXJuIGludGVudDsKIH0KIAogdm9pZCBld2tfaW50ZW50X3VucmVmKEV3
a19JbnRlbnQqIGludGVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19pbnRlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19pbnRlbnQuaAppbmRleCBhYmNmZmE1Li41Yjg2OTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudC5oCkBAIC00NCw4ICs0NCwxMCBAQCB0eXBlZGVm
IHN0cnVjdCBfRXdrX0ludGVudCBFd2tfSW50ZW50OwogICogSW5jcmVhc2VzIHRoZSByZWZlcmVu
Y2UgY291bnQgb2YgdGhlIGdpdmVuIG9iamVjdC4KICAqCiAgKiBAcGFyYW0gaW50ZW50IHRoZSBp
bnRlbnQgb2JqZWN0IHRvIGluY3JlYXNlIHRoZSByZWZlcmVuY2UgY291bnQKKyAqCisgKiBAcmV0
dXJuIGEgcG9pbnRlciB0byB0aGUgb2JqZWN0IG9uIHN1Y2Nlc3MsIEBjIE5VTEwgb3RoZXJ3aXNl
LgogICovCi1FQVBJIHZvaWQgZXdrX2ludGVudF9yZWYoRXdrX0ludGVudCAqaW50ZW50KTsKK0VB
UEkgRXdrX0ludGVudCAqZXdrX2ludGVudF9yZWYoRXdrX0ludGVudCAqaW50ZW50KTsKIAogLyoq
CiAgKiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0LCBw
b3NzaWJseSBmcmVlaW5nIGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2aWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5jcHAKaW5kZXggMTkyMTU3Mi4uMjc5ZTkwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudF9z
ZXJ2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50
ZW50X3NlcnZpY2UuY3BwCkBAIC02NywxMiArNjcsMTQgQEAgc3RydWN0IF9Fd2tfSW50ZW50X1Nl
cnZpY2UgewogICAgIH0KIH07CiAKLXZvaWQgZXdrX2ludGVudF9zZXJ2aWNlX3JlZihFd2tfSW50
ZW50X1NlcnZpY2UqIHNlcnZpY2UpCitFd2tfSW50ZW50X1NlcnZpY2UqIGV3a19pbnRlbnRfc2Vy
dmljZV9yZWYoRXdrX0ludGVudF9TZXJ2aWNlKiBzZXJ2aWNlKQogewogI2lmIEVOQUJMRShXRUJf
SU5URU5UU19UQUcpCi0gICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4oc2VydmljZSk7Cisg
ICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNlcnZpY2UsIDApOwogICAgICsrc2Vy
dmljZS0+X19yZWY7CiAjZW5kaWYKKworICAgIHJldHVybiBzZXJ2aWNlOwogfQogCiB2b2lkIGV3
a19pbnRlbnRfc2VydmljZV91bnJlZihFd2tfSW50ZW50X1NlcnZpY2UqIHNlcnZpY2UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50X3NlcnZp
Y2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2Vydmlj
ZS5oCmluZGV4IDk1OGUwNTQuLmRiOTQ2ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5oCkBAIC00NCw4ICs0NCwxMCBA
QCB0eXBlZGVmIHN0cnVjdCBfRXdrX0ludGVudF9TZXJ2aWNlIEV3a19JbnRlbnRfU2VydmljZTsK
ICAqIEluY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZlbiBvYmplY3QuCiAg
KgogICogQHBhcmFtIHNlcnZpY2UgdGhlIGludGVudCBzZXJ2aWNlIG9iamVjdCB0byBpbmNyZWFz
ZSB0aGUgcmVmZXJlbmNlIGNvdW50CisgKgorICogQHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIG9i
amVjdCBvbiBzdWNjZXNzLCBAYyBOVUxMIG90aGVyd2lzZS4KICAqLwotRUFQSSB2b2lkIGV3a19p
bnRlbnRfc2VydmljZV9yZWYoRXdrX0ludGVudF9TZXJ2aWNlICpzZXJ2aWNlKTsKK0VBUEkgRXdr
X0ludGVudF9TZXJ2aWNlICpld2tfaW50ZW50X3NlcnZpY2VfcmVmKEV3a19JbnRlbnRfU2Vydmlj
ZSAqc2VydmljZSk7CiAKIC8qKgogICogRGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2Yg
dGhlIGdpdmVuIG9iamVjdCwgcG9zc2libHkgZnJlZWluZyBpdC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9w
b2xpY3lfZGVjaXNpb24uY3BwCmluZGV4IDE5MDgxMDkuLmQ0NjgwNWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNp
c2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX25hdmln
YXRpb25fcG9saWN5X2RlY2lzaW9uLmNwcApAQCAtNzMsMTEgKzczLDEzIEBAIHN0cnVjdCBfRXdr
X05hdmlnYXRpb25fUG9saWN5X0RlY2lzaW9uIHsKICAgICB9CiB9OwogCi12b2lkIGV3a19uYXZp
Z2F0aW9uX3BvbGljeV9kZWNpc2lvbl9yZWYoRXdrX05hdmlnYXRpb25fUG9saWN5X0RlY2lzaW9u
KiBkZWNpc2lvbikKK0V3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lvbiogZXdrX25hdmlnYXRp
b25fcG9saWN5X2RlY2lzaW9uX3JlZihFd2tfTmF2aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb24qIGRl
Y2lzaW9uKQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKGRlY2lzaW9uKTsKKyAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGVjaXNpb24sIDApOwogCiAgICAgKytk
ZWNpc2lvbi0+X19yZWY7CisKKyAgICByZXR1cm4gZGVjaXNpb247CiB9CiAKIHZvaWQgZXdrX25h
dmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX3VucmVmKEV3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNp
c2lvbiogZGVjaXNpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5oCmluZGV4IGRl
YzljMDkuLjlmM2MwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5oCkBAIC03
MCw4ICs3MCwxMCBAQCB0eXBlZGVmIGVudW0gewogICogSW5jcmVhc2VzIHRoZSByZWZlcmVuY2Ug
Y291bnQgb2YgdGhlIGdpdmVuIG9iamVjdC4KICAqCiAgKiBAcGFyYW0gZGVjaXNpb24gdGhlIHBv
bGljeSBkZWNpc2lvbiBvYmplY3QgdG8gaW5jcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAorICoK
KyAqIEByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBvYmplY3Qgb24gc3VjY2VzcywgQGMgTlVMTCBv
dGhlcndpc2UuCiAgKi8KLUVBUEkgdm9pZCBld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25f
cmVmKEV3a19OYXZpZ2F0aW9uX1BvbGljeV9EZWNpc2lvbiAqZGVjaXNpb24pOworRUFQSSBFd2tf
TmF2aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb24gKmV3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lv
bl9yZWYoRXdrX05hdmlnYXRpb25fUG9saWN5X0RlY2lzaW9uICpkZWNpc2lvbik7CiAKIC8qKgog
ICogRGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIGdpdmVuIG9iamVjdCwgcG9z
c2libHkgZnJlZWluZyBpdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a191cmxfcmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdXJsX3JlcXVlc3QuY3BwCmluZGV4IDU4MTZiMmYuLjllN2M4MGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVxdWVzdC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXF1ZXN0LmNw
cApAQCAtNjAsMTAgKzYwLDEyIEBAIHN0cnVjdCBfRXdrX1VybF9SZXF1ZXN0IHsKICAgICB9CiB9
OwogCi12b2lkIGV3a191cmxfcmVxdWVzdF9yZWYoRXdrX1VybF9SZXF1ZXN0KiByZXF1ZXN0KQor
RXdrX1VybF9SZXF1ZXN0KiBld2tfdXJsX3JlcXVlc3RfcmVmKEV3a19VcmxfUmVxdWVzdCogcmVx
dWVzdCkKIHsKLSAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihyZXF1ZXN0KTsKKyAgICBF
SU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwocmVxdWVzdCwgMCk7CiAgICAgKytyZXF1ZXN0
LT5fX3JlZjsKKworICAgIHJldHVybiByZXF1ZXN0OwogfQogCiB2b2lkIGV3a191cmxfcmVxdWVz
dF91bnJlZihFd2tfVXJsX1JlcXVlc3QqIHJlcXVlc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVxdWVzdC5oCmluZGV4IGVjNDRmNWMuLmY2MWI4
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxf
cmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxf
cmVxdWVzdC5oCkBAIC00NCw4ICs0NCwxMCBAQCB0eXBlZGVmIHN0cnVjdCBfRXdrX1VybF9SZXF1
ZXN0IEV3a19VcmxfUmVxdWVzdDsKICAqIEluY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9m
IHRoZSBnaXZlbiBvYmplY3QuCiAgKgogICogQHBhcmFtIHJlcXVlc3QgdGhlIFVSTCByZXF1ZXN0
IG9iamVjdCB0byBpbmNyZWFzZSB0aGUgcmVmZXJlbmNlIGNvdW50CisgKgorICogQHJldHVybiBh
IHBvaW50ZXIgdG8gdGhlIG9iamVjdCBvbiBzdWNjZXNzLCBAYyBOVUxMIG90aGVyd2lzZS4KICAq
LwotRUFQSSB2b2lkIGV3a191cmxfcmVxdWVzdF9yZWYoRXdrX1VybF9SZXF1ZXN0ICpyZXF1ZXN0
KTsKK0VBUEkgRXdrX1VybF9SZXF1ZXN0ICpld2tfdXJsX3JlcXVlc3RfcmVmKEV3a19VcmxfUmVx
dWVzdCAqcmVxdWVzdCk7CiAKIC8qKgogICogRGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQg
b2YgdGhlIGdpdmVuIG9iamVjdCwgcG9zc2libHkgZnJlZWluZyBpdC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVzcG9uc2UuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5jcHAKaW5kZXgg
OGQwYThlZS4uOGMxYjFiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3VybF9yZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5jcHAKQEAgLTU4LDEwICs1OCwxMiBAQCBzdHJ1Y3Qg
X0V3a19VcmxfUmVzcG9uc2UgewogICAgIH0KIH07CiAKLXZvaWQgZXdrX3VybF9yZXNwb25zZV9y
ZWYoRXdrX1VybF9SZXNwb25zZSogcmVzcG9uc2UpCitFd2tfVXJsX1Jlc3BvbnNlKiBld2tfdXJs
X3Jlc3BvbnNlX3JlZihFd2tfVXJsX1Jlc3BvbnNlKiByZXNwb25zZSkKIHsKLSAgICBFSU5BX1NB
RkVUWV9PTl9OVUxMX1JFVFVSTihyZXNwb25zZSk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk5fVkFMKHJlc3BvbnNlLCAwKTsKICAgICArK3Jlc3BvbnNlLT5fX3JlZjsKKworICAgIHJl
dHVybiByZXNwb25zZTsKIH0KIAogdm9pZCBld2tfdXJsX3Jlc3BvbnNlX3VucmVmKEV3a19Vcmxf
UmVzcG9uc2UqIHJlc3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3VybF9yZXNwb25zZS5oCmluZGV4IDM1NjMxZWIuLjI1ODE0ZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVzcG9uc2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jlc3BvbnNlLmgK
QEAgLTQ0LDggKzQ0LDEwIEBAIHR5cGVkZWYgc3RydWN0IF9Fd2tfVXJsX1Jlc3BvbnNlIEV3a19V
cmxfUmVzcG9uc2U7CiAgKiBJbmNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2
ZW4gb2JqZWN0LgogICoKICAqIEBwYXJhbSByZXNwb25zZSB0aGUgVVJMIHJlc3BvbnNlIG9iamVj
dCB0byBpbmNyZWFzZSB0aGUgcmVmZXJlbmNlIGNvdW50CisgKgorICogQHJldHVybiBhIHBvaW50
ZXIgdG8gdGhlIG9iamVjdCBvbiBzdWNjZXNzLCBAYyBOVUxMIG90aGVyd2lzZS4KICAqLwotRUFQ
SSB2b2lkIGV3a191cmxfcmVzcG9uc2VfcmVmKEV3a19VcmxfUmVzcG9uc2UgKnJlc3BvbnNlKTsK
K0VBUEkgRXdrX1VybF9SZXNwb25zZSAqZXdrX3VybF9yZXNwb25zZV9yZWYoRXdrX1VybF9SZXNw
b25zZSAqcmVzcG9uc2UpOwogCiAvKioKICAqIERlY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50
IG9mIHRoZSBnaXZlbiBvYmplY3QsIHBvc3NpYmx5IGZyZWVpbmcgaXQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVl
c3QuY3BwCmluZGV4IDMyYzMyODEuLmM2MGM1ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuY3BwCkBA
IC02NywxMCArNjcsMTIgQEAgc3RydWN0IF9Fd2tfVXJsX1NjaGVtZV9SZXF1ZXN0IHsKICAgICB9
CiB9OwogCi12b2lkIGV3a191cmxfc2NoZW1lX3JlcXVlc3RfcmVmKEV3a19VcmxfU2NoZW1lX1Jl
cXVlc3QqIHJlcXVlc3QpCitFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiBld2tfdXJsX3NjaGVtZV9y
ZXF1ZXN0X3JlZihFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0KiByZXF1ZXN0KQogewotICAgIEVJTkFf
U0FGRVRZX09OX05VTExfUkVUVVJOKHJlcXVlc3QpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExf
UkVUVVJOX1ZBTChyZXF1ZXN0LCAwKTsKICAgICArK3JlcXVlc3QtPl9fcmVmOworCisgICAgcmV0
dXJuIHJlcXVlc3Q7CiB9CiAKIHZvaWQgZXdrX3VybF9zY2hlbWVfcmVxdWVzdF91bnJlZihFd2tf
VXJsX1NjaGVtZV9SZXF1ZXN0KiByZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5oCmluZGV4IGRlYWFm
MTguLjk3Mjc1OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a191cmxfc2NoZW1lX3JlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0LmgKQEAgLTQ0LDggKzQ0LDEwIEBAIHR5cGVk
ZWYgc3RydWN0IF9Fd2tfVXJsX1NjaGVtZV9SZXF1ZXN0IEV3a19VcmxfU2NoZW1lX1JlcXVlc3Q7
CiAgKiBJbmNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0Lgog
ICoKICAqIEBwYXJhbSByZXF1ZXN0IHRoZSBVUkwgc2NoZW1lIHJlcXVlc3Qgb2JqZWN0IHRvIGlu
Y3JlYXNlIHRoZSByZWZlcmVuY2UgY291bnQKKyAqCisgKiBAcmV0dXJuIGEgcG9pbnRlciB0byB0
aGUgb2JqZWN0IG9uIHN1Y2Nlc3MsIEBjIE5VTEwgb3RoZXJ3aXNlLgogICovCi1FQVBJIHZvaWQg
ZXdrX3VybF9zY2hlbWVfcmVxdWVzdF9yZWYoRXdrX1VybF9TY2hlbWVfUmVxdWVzdCAqcmVxdWVz
dCk7CitFQVBJIEV3a19VcmxfU2NoZW1lX1JlcXVlc3QgKmV3a191cmxfc2NoZW1lX3JlcXVlc3Rf
cmVmKEV3a19VcmxfU2NoZW1lX1JlcXVlc3QgKnJlcXVlc3QpOwogCiAvKioKICAqIERlY3JlYXNl
cyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZlbiBvYmplY3QsIHBvc3NpYmx5IGZyZWVp
bmcgaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAK
aW5kZXggMzE5NmQwYi4uZGM3N2ZiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a192aWV3LmNwcApAQCAtODg5LDggKzg4OSw3IEBAIHZvaWQgZXdrX3ZpZXdfcmVz
b3VyY2VfbG9hZF9pbml0aWF0ZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHVpbnQ2NF90IHJlc291
cmNlSWRlCiAgICAgRXdrX1dlYl9SZXNvdXJjZV9SZXF1ZXN0IHJlc291cmNlUmVxdWVzdCA9IHty
ZXNvdXJjZSwgcmVxdWVzdCwgMH07CiAKICAgICAvLyBLZWVwIHRoZSByZXNvdXJjZSBpbnRlcm5h
bGx5IHRvIHJldXNlIGl0IGxhdGVyLgotICAgIGV3a193ZWJfcmVzb3VyY2VfcmVmKHJlc291cmNl
KTsKLSAgICBwcml2LT5sb2FkaW5nUmVzb3VyY2VzTWFwLmFkZChyZXNvdXJjZUlkZW50aWZpZXIs
IHJlc291cmNlKTsKKyAgICBwcml2LT5sb2FkaW5nUmVzb3VyY2VzTWFwLmFkZChyZXNvdXJjZUlk
ZW50aWZpZXIsIGV3a193ZWJfcmVzb3VyY2VfcmVmKHJlc291cmNlKSk7CiAKICAgICBldmFzX29i
amVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3a1ZpZXcsICJyZXNvdXJjZSxyZXF1ZXN0LG5ldyIs
ICZyZXNvdXJjZVJlcXVlc3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3dlYl9yZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfd2ViX3Jlc291cmNlLmNwcAppbmRleCAzNTU1OTJkLi44OTg3OWVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfd2ViX3Jlc291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfd2ViX3Jl
c291cmNlLmNwcApAQCAtNDcsMTEgKzQ3LDEzIEBAIHN0cnVjdCBfRXdrX1dlYl9SZXNvdXJjZSB7
CiAgICAgfQogfTsKIAotdm9pZCBld2tfd2ViX3Jlc291cmNlX3JlZihFd2tfV2ViX1Jlc291cmNl
KiByZXNvdXJjZSkKK0V3a19XZWJfUmVzb3VyY2UqIGV3a193ZWJfcmVzb3VyY2VfcmVmKEV3a19X
ZWJfUmVzb3VyY2UqIHJlc291cmNlKQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
KHJlc291cmNlKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwocmVzb3VyY2Us
IDApOwogCiAgICAgKytyZXNvdXJjZS0+X19yZWY7CisKKyAgICByZXR1cm4gcmVzb3VyY2U7CiB9
CiAKIHZvaWQgZXdrX3dlYl9yZXNvdXJjZV91bnJlZihFd2tfV2ViX1Jlc291cmNlKiByZXNvdXJj
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJf
cmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfcmVz
b3VyY2UuaAppbmRleCA0N2ZkN2FkLi5kYzJjZjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfd2ViX3Jlc291cmNlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3dlYl9yZXNvdXJjZS5oCkBAIC00NCw4ICs0NCwxMCBA
QCB0eXBlZGVmIHN0cnVjdCBfRXdrX1dlYl9SZXNvdXJjZSBFd2tfV2ViX1Jlc291cmNlOwogICog
SW5jcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIGdpdmVuIG9iamVjdC4KICAqCiAg
KiBAcGFyYW0gcmVzb3VyY2UgdGhlIHJlc291cmNlIG9iamVjdCB0byBpbmNyZWFzZSB0aGUgcmVm
ZXJlbmNlIGNvdW50CisgKgorICogQHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIG9iamVjdCBvbiBz
dWNjZXNzLCBAYyBOVUxMIG90aGVyd2lzZS4KICAqLwotRUFQSSB2b2lkIGV3a193ZWJfcmVzb3Vy
Y2VfcmVmKEV3a19XZWJfUmVzb3VyY2UgKnJlc291cmNlKTsKK0VBUEkgRXdrX1dlYl9SZXNvdXJj
ZSAqZXdrX3dlYl9yZXNvdXJjZV9yZWYoRXdrX1dlYl9SZXNvdXJjZSAqcmVzb3VyY2UpOwogCiAv
KioKICAqIERlY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZlbiBvYmplY3Qs
IHBvc3NpYmx5IGZyZWVpbmcgaXQuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>