<?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>222761</bug_id>
          
          <creation_ts>2021-03-04 14:06:33 -0800</creation_ts>
          <short_desc>[LFC][IFC] Transition LineBox::InlineLevelBoxList from a list of std::unique_ptr&lt;InlineLevelBox&gt; to a list of InlineLevelBox objects</short_desc>
          <delta_ts>2021-03-05 09:17:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1736011</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-03-04 14:06:33 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736015</commentid>
    <comment_count>1</comment_count>
      <attachid>422285</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-03-04 14:10:00 -0800</bug_when>
    <thetext>Created attachment 422285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736371</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-05 09:16:16 -0800</bug_when>
    <thetext>Committed r273974: &lt;https://commits.webkit.org/r273974&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422285.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736373</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-05 09:17:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/75097515&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422285</attachid>
            <date>2021-03-04 14:10:00 -0800</date>
            <delta_ts>2021-03-05 09:16:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222761-20210304140959.patch</filename>
            <type>text/plain</type>
            <size>35070</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTliZjVjZTkyOGVmMzU1
YTdjM2QzZTIxMDk5ZTk0MTVhMjQxMWU5Yi4uOWM3MDBkN2EyYjAzN2RmYzJlYmJjOWNlM2I4ZDAx
MGVjY2UwMmExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAzLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBUcmFuc2l0
aW9uIExpbmVCb3g6OklubGluZUxldmVsQm94TGlzdCBmcm9tIGEgbGlzdCBvZiBzdGQ6OnVuaXF1
ZV9wdHI8SW5saW5lTGV2ZWxCb3g+IHRvIGEgbGlzdCBvZiBJbmxpbmVMZXZlbEJveCBvYmplY3Rz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI3NjEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRy
eUZvckxpbmVDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGluZUJveEhl
aWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkpOgorICAgICAgICAqIGxheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6
aW5saW5lTGV2ZWxCb3hBZmZlY3RzTGluZUJveCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVCb3g6OmFkZElubGluZUxldmVsQm94KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVMaW5lQm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCb3g6Om5vblJvb3RJbmxpbmVMZXZlbEJveGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJveDo6aW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3gpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5saW5lTGV2
ZWxCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94OjpJbmxpbmVMZXZlbEJv
eDo6Y3JlYXRlSW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveDo6
SW5saW5lTGV2ZWxCb3g6OmNyZWF0ZUxpbmVCcmVha0JveCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCb3g6OklubGluZUxldmVsQm94OjpjcmVhdGVHZW5lcmljSW5saW5lTGV2ZWxC
b3gpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGlu
ZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9u
OjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRz
Rm9yUnVucyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6SW5s
aW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlOb25Sb290SW5saW5lQm94ZXMgY29uc3Qp
OgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6c2hvd0lubGluZVRyZWVBbmRSdW5zKToKKwogMjAyMS0w
My0wNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRl
IGNhbWVyYSBhbmQgbWljcm9waG9uZSBjYXB0dXJlIHN0YXRlIGNvbnRyb2wgV0tXZWJWaWV3IEFQ
SQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDdjZDM5ODU5MWQyN2Y4
OWNkMDQyOWRhMmU5YmNkYTY3MTE3ODZkZTcuLjdlODMxNjcwNDdiN2U2Njg3MDk5YTg2ZDcxYzgx
OTBhZjA0MzNmOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTU1
NSw5ICs1NTUsOSBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
R2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbAogICAgICAgICAvLyBHcmFiIHRo
ZSBpbmxpbmUgYm94ZXMgKGV2ZW4gdGhvc2UgdGhhdCBkb24ndCBoYXZlIGFzc29jaWF0ZWQgbGF5
b3V0IGJveGVzIG9uIHRoZSBjdXJyZW50IGxpbmUgZHVlIHRvIGxpbmUgd3JhcHBpbmcpCiAgICAg
ICAgIC8vIGFuZCB1cGRhdGUgdGhlaXIgZ2VvbWV0cmllcy4KICAgICAgICAgZm9yIChhdXRvJiBp
bmxpbmVMZXZlbEJveCA6IGxpbmVCb3gubm9uUm9vdElubGluZUxldmVsQm94ZXMoKSkgewotICAg
ICAgICAgICAgaWYgKCFpbmxpbmVMZXZlbEJveC0+aXNJbmxpbmVCb3goKSkKKyAgICAgICAgICAg
IGlmICghaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVCb3goKSkKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94LT5sYXlv
dXRCb3goKTsKKyAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94Lmxh
eW91dEJveCgpOwogICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3Rh
dGUuYm94R2VvbWV0cnkobGF5b3V0Qm94KTsKICAgICAgICAgICAgIC8vIElubGluZSBib3hlcyBt
YXkgb3IgbWF5IG5vdCBiZSB3cmFwcGVkIGFuZCBoYXZlIHJ1bnMgb24gbXVsdGlwbGUgbGluZXMg
KGUuZy4gPHNwYW4+Zmlyc3QgbGluZTxicj5zZWNvbmQgbGluZTxicj50aGlyZCBsaW5lPC9zcGFu
PikKICAgICAgICAgICAgIGF1dG8gaW5saW5lQm94Qm9yZGVyQm94ID0gbGluZUJveC5sb2dpY2Fs
Qm9yZGVyQm94Rm9ySW5saW5lQm94KGxheW91dEJveCwgYm94R2VvbWV0cnkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCBiMjQ5NTVmOWI2
YWQ0NTBhNmQ5NGFlOGUxNmE2MjViZjEzMTUwZDEwLi5mMGM5YTUzNDliZGIzOTUwZmVhYWJlNDVl
MmRjOWJiOWEyODAxNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcApAQCAtMjY3LDggKzI2Nyw4IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNv
bnN0cnVjdEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25zdCBM
CiAgICAgICAgIC8vIENvbnN0cnVjdCB0aGUgbWlzc2luZyBMaW5lQm94OjpJbmxpbmVCb3hlcyBz
dGFydGluZyB3aXRoIHRoZSB0b3Btb3N0IGxheW91dCBib3guCiAgICAgICAgIGZvciAoYXV0byog
bGF5b3V0Qm94IDogV1RGOjptYWtlUmV2ZXJzZWRSYW5nZShsYXlvdXRCb3hlc1dpdGhvdXRJbmxp
bmVCb3hlcykpIHsKICAgICAgICAgICAgIGF1dG8gaW5saW5lQm94ID0gTGluZUJveDo6SW5saW5l
TGV2ZWxCb3g6OmNyZWF0ZUlubGluZUJveCgqbGF5b3V0Qm94LCByb290SW5saW5lQm94LmxvZ2lj
YWxMZWZ0KCksIGxpbmVCb3guY29udGVudExvZ2ljYWxXaWR0aCgpKTsKLSAgICAgICAgICAgIHNl
dFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxpbmVCb3goKmlubGluZUJveCk7Ci0gICAgICAgICAgICBz
aW1wbGlmaWVkQWxpZ25WZXJ0aWNhbGx5SWZBcHBsaWNhYmxlKCppbmxpbmVCb3gsIHsgfSk7Cisg
ICAgICAgICAgICBzZXRWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94KGlubGluZUJveCk7Cisg
ICAgICAgICAgICBzaW1wbGlmaWVkQWxpZ25WZXJ0aWNhbGx5SWZBcHBsaWNhYmxlKGlubGluZUJv
eCwgeyB9KTsKICAgICAgICAgICAgIGxpbmVCb3guYWRkSW5saW5lTGV2ZWxCb3goV1RGTW92ZShp
bmxpbmVCb3gpKTsKICAgICAgICAgfQogICAgIH07CkBAIC0zMjAsOSArMzIwLDkgQEAgdm9pZCBM
aW5lQm94QnVpbGRlcjo6Y29uc3RydWN0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzKExpbmVCb3gm
IGxpbmVCb3gsIGNvbnN0IEwKICAgICAgICAgICAgICAgICBhc2NlbnQgPSBtYXJnaW5Cb3hIZWln
aHQ7CiAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBzdGQ6Om1heCgwX2x1LCBpbmxpbmVMZXZl
bEJveEdlb21ldHJ5Lm1hcmdpblN0YXJ0KCkpOwogICAgICAgICAgICAgYXV0byBhdG9taWNJbmxp
bmVMZXZlbEJveCA9IExpbmVCb3g6OklubGluZUxldmVsQm94OjpjcmVhdGVBdG9taWNJbmxpbmVM
ZXZlbEJveChsYXlvdXRCb3gsIGxvZ2ljYWxMZWZ0LCB7IGlubGluZUxldmVsQm94R2VvbWV0cnku
Ym9yZGVyQm94V2lkdGgoKSwgbWFyZ2luQm94SGVpZ2h0IH0pOwotICAgICAgICAgICAgYXRvbWlj
SW5saW5lTGV2ZWxCb3gtPnNldEJhc2VsaW5lKGFzY2VudCk7Ci0gICAgICAgICAgICBhdG9taWNJ
bmxpbmVMZXZlbEJveC0+c2V0TGF5b3V0Qm91bmRzKExpbmVCb3g6OklubGluZUxldmVsQm94OjpM
YXlvdXRCb3VuZHMgeyBhc2NlbnQsIG1hcmdpbkJveEhlaWdodCAtIGFzY2VudCB9KTsKLSAgICAg
ICAgICAgIHNpbXBsaWZpZWRBbGlnblZlcnRpY2FsbHlJZkFwcGxpY2FibGUoKmF0b21pY0lubGlu
ZUxldmVsQm94LCBpbmxpbmVMZXZlbEJveEdlb21ldHJ5KTsKKyAgICAgICAgICAgIGF0b21pY0lu
bGluZUxldmVsQm94LnNldEJhc2VsaW5lKGFzY2VudCk7CisgICAgICAgICAgICBhdG9taWNJbmxp
bmVMZXZlbEJveC5zZXRMYXlvdXRCb3VuZHMoTGluZUJveDo6SW5saW5lTGV2ZWxCb3g6OkxheW91
dEJvdW5kcyB7IGFzY2VudCwgbWFyZ2luQm94SGVpZ2h0IC0gYXNjZW50IH0pOworICAgICAgICAg
ICAgc2ltcGxpZmllZEFsaWduVmVydGljYWxseUlmQXBwbGljYWJsZShhdG9taWNJbmxpbmVMZXZl
bEJveCwgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeSk7CiAgICAgICAgICAgICBsaW5lQm94LmFkZElu
bGluZUxldmVsQm94KFdURk1vdmUoYXRvbWljSW5saW5lTGV2ZWxCb3gpKTsKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICB9CkBAIC0zMzYsOCArMzM2LDggQEAgdm9pZCBMaW5lQm94QnVp
bGRlcjo6Y29uc3RydWN0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gs
IGNvbnN0IEwKICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1hcmdpblN0YXJ0OwogICAgICAg
ICAgICAgaW5pdGlhbExvZ2ljYWxXaWR0aCAtPSBtYXJnaW5TdGFydDsKICAgICAgICAgICAgIGF1
dG8gaW5saW5lQm94ID0gTGluZUJveDo6SW5saW5lTGV2ZWxCb3g6OmNyZWF0ZUlubGluZUJveChs
YXlvdXRCb3gsIGxvZ2ljYWxMZWZ0LCBpbml0aWFsTG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAg
IHNldFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxpbmVCb3goKmlubGluZUJveCk7Ci0gICAgICAgICAg
ICBzaW1wbGlmaWVkQWxpZ25WZXJ0aWNhbGx5SWZBcHBsaWNhYmxlKCppbmxpbmVCb3gsIHsgfSk7
CisgICAgICAgICAgICBzZXRWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94KGlubGluZUJveCk7
CisgICAgICAgICAgICBzaW1wbGlmaWVkQWxpZ25WZXJ0aWNhbGx5SWZBcHBsaWNhYmxlKGlubGlu
ZUJveCwgeyB9KTsKICAgICAgICAgICAgIGxpbmVCb3guYWRkSW5saW5lTGV2ZWxCb3goV1RGTW92
ZShpbmxpbmVCb3gpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CkBAIC0zNTks
OCArMzU5LDggQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0QW5kQWxpZ25JbmxpbmVM
ZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IEwKICAgICAgICAgfQogICAgICAgICBp
ZiAocnVuLmlzSGFyZExpbmVCcmVhaygpKSB7CiAgICAgICAgICAgICBhdXRvIGxpbmVCcmVha0Jv
eCA9IExpbmVCb3g6OklubGluZUxldmVsQm94OjpjcmVhdGVMaW5lQnJlYWtCb3gobGF5b3V0Qm94
LCBsb2dpY2FsTGVmdCk7Ci0gICAgICAgICAgICBzZXRWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5l
Qm94KCpsaW5lQnJlYWtCb3gpOwotICAgICAgICAgICAgc2ltcGxpZmllZEFsaWduVmVydGljYWxs
eUlmQXBwbGljYWJsZSgqbGluZUJyZWFrQm94LCB7IH0pOworICAgICAgICAgICAgc2V0VmVydGlj
YWxHZW9tZXRyeUZvcklubGluZUJveChsaW5lQnJlYWtCb3gpOworICAgICAgICAgICAgc2ltcGxp
ZmllZEFsaWduVmVydGljYWxseUlmQXBwbGljYWJsZShsaW5lQnJlYWtCb3gsIHsgfSk7CiAgICAg
ICAgICAgICBsaW5lQm94LmFkZElubGluZUxldmVsQm94KFdURk1vdmUobGluZUJyZWFrQm94KSk7
CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQpAQCAtMzk4LDcgKzM5OCw3IEBAIHZv
aWQgTGluZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZl
bEJveGVzVmVydGljYWxseShMaW5lCiAgICAgICAgICAgICBJbmxpbmVMYXlvdXRVbml0IHRvcCB7
IDAgfTsKICAgICAgICAgICAgIElubGluZUxheW91dFVuaXQgYm90dG9tIHsgMCB9OwogICAgICAg
ICB9OwotICAgICAgICBIYXNoTWFwPExpbmVCb3g6OklubGluZUxldmVsQm94KiwgQWJzb2x1dGVU
b3BBbmRCb3R0b20+IGlubGluZUxldmVsQm94QWJzb2x1dGVUb3BBbmRCb3R0b21NYXA7CisgICAg
ICAgIEhhc2hNYXA8Y29uc3QgTGluZUJveDo6SW5saW5lTGV2ZWxCb3gqLCBBYnNvbHV0ZVRvcEFu
ZEJvdHRvbT4gaW5saW5lTGV2ZWxCb3hBYnNvbHV0ZVRvcEFuZEJvdHRvbU1hcDsKIAogICAgICAg
ICBhdXRvIG1pbmltdW1Mb2dpY2FsVG9wID0gT3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4geyB9
OwogICAgICAgICBhdXRvIG1heGltdW1Mb2dpY2FsQm90dG9tID0gT3B0aW9uYWw8SW5saW5lTGF5
b3V0VW5pdD4geyB9OwpAQCAtNDExLDkgKzQxMSw5IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNv
bXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzVmVydGljYWxseShMaW5l
CiAKICAgICAgICAgVmVjdG9yPExpbmVCb3g6OklubGluZUxldmVsQm94Kj4gbGluZUJveFJlbGF0
aXZlSW5saW5lTGV2ZWxCb3hlczsKICAgICAgICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6
IGxpbmVCb3gubm9uUm9vdElubGluZUxldmVsQm94ZXMoKSkgewotICAgICAgICAgICAgYXV0byYg
bGF5b3V0Qm94ID0gaW5saW5lTGV2ZWxCb3gtPmxheW91dEJveCgpOwotICAgICAgICAgICAgaWYg
KGlubGluZUxldmVsQm94LT5oYXNMaW5lQm94UmVsYXRpdmVBbGlnbm1lbnQoKSkgewotICAgICAg
ICAgICAgICAgIGxpbmVCb3hSZWxhdGl2ZUlubGluZUxldmVsQm94ZXMuYXBwZW5kKGlubGluZUxl
dmVsQm94LmdldCgpKTsKKyAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVs
Qm94LmxheW91dEJveCgpOworICAgICAgICAgICAgaWYgKGlubGluZUxldmVsQm94Lmhhc0xpbmVC
b3hSZWxhdGl2ZUFsaWdubWVudCgpKSB7CisgICAgICAgICAgICAgICAgbGluZUJveFJlbGF0aXZl
SW5saW5lTGV2ZWxCb3hlcy5hcHBlbmQoJmlubGluZUxldmVsQm94KTsKICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGF1dG8mIHBhcmVudElubGlu
ZUJveCA9IGxpbmVCb3guaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94LnBhcmVu
dCgpKTsKQEAgLTQyMSwyNSArNDIxLDI1IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbXB1dGVM
aW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzVmVydGljYWxseShMaW5lCiAgICAg
ICAgICAgICAvLyBOb3RlIHRoYXQgdGhpcyBsb2dpY2FsIHRvcCBpcyBub3QgdGhlIGZpbmFsIGxv
Z2ljYWwgdG9wIG9mIHRoZSBpbmxpbmUgbGV2ZWwgYm94LgogICAgICAgICAgICAgLy8gVGhpcyBp
cyB0aGUgbG9naWNhbCB0b3AgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGxheW91dCBib3VuZHMgZ2Vv
bWV0cnkgd2hpY2ggbWF5IGJlIHZlcnkgZGlmZmVyZW50IGZyb20gdGhlIGlubGluZSBib3gncyBu
b3JtYWwgZ2VvbWV0cnkuCiAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3AgPSBJbmxpbmVMYXlv
dXRVbml0IHsgfTsKLSAgICAgICAgICAgIHN3aXRjaCAoaW5saW5lTGV2ZWxCb3gtPnZlcnRpY2Fs
QWxpZ24oKSkgeworICAgICAgICAgICAgc3dpdGNoIChpbmxpbmVMZXZlbEJveC52ZXJ0aWNhbEFs
aWduKCkpIHsKICAgICAgICAgICAgIGNhc2UgVmVydGljYWxBbGlnbjo6QmFzZWxpbmU6IHsKLSAg
ICAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBp
bmxpbmVMZXZlbEJveC0+bGF5b3V0Qm91bmRzKCkuYXNjZW50OworICAgICAgICAgICAgICAgIGF1
dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IGlubGluZUxldmVsQm94Lmxh
eW91dEJvdW5kcygpLmFzY2VudDsKICAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50
SW5saW5lQm94LmxheW91dEJvdW5kcygpLmFzY2VudCAtIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFy
ZW50QmFzZWxpbmU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246Ok1pZGRsZTogewotICAgICAgICAgICAgICAgIGF1
dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IGlubGluZUxldmVsQm94LT5s
YXlvdXRCb3VuZHMoKS5oZWlnaHQoKSAvIDIgKyBwYXJlbnRJbmxpbmVCb3guc3R5bGUoKS5mb250
TWV0cmljcygpLnhIZWlnaHQoKSAvIDI7CisgICAgICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9w
T2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCku
aGVpZ2h0KCkgLyAyICsgcGFyZW50SW5saW5lQm94LnN0eWxlKCkuZm9udE1ldHJpY3MoKS54SGVp
Z2h0KCkgLyAyOwogICAgICAgICAgICAgICAgIGxvZ2ljYWxUb3AgPSBwYXJlbnRJbmxpbmVCb3gu
bGF5b3V0Qm91bmRzKCkuYXNjZW50IC0gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGlu
ZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNh
c2UgVmVydGljYWxBbGlnbjo6QmFzZWxpbmVNaWRkbGU6IHsKLSAgICAgICAgICAgICAgICBhdXRv
IGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBpbmxpbmVMZXZlbEJveC0+bGF5
b3V0Qm91bmRzKCkuaGVpZ2h0KCkgLyAyOworICAgICAgICAgICAgICAgIGF1dG8gbG9naWNhbFRv
cE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygp
LmhlaWdodCgpIC8gMjsKICAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50SW5saW5l
Qm94LmxheW91dEJvdW5kcygpLmFzY2VudCAtIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFz
ZWxpbmU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBjYXNlIFZlcnRpY2FsQWxpZ246Okxlbmd0aDogewotICAgICAgICAgICAgICAgIGF1dG8mIHN0
eWxlID0gaW5saW5lTGV2ZWxCb3gtPnN0eWxlKCk7Ci0gICAgICAgICAgICAgICAgYXV0byBsb2dp
Y2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gZmxvYXRWYWx1ZUZvckxlbmd0aChzdHls
ZS52ZXJ0aWNhbEFsaWduTGVuZ3RoKCksIHN0eWxlLmNvbXB1dGVkTGluZUhlaWdodCgpKSArIGlu
bGluZUxldmVsQm94LT5sYXlvdXRCb3VuZHMoKS5hc2NlbnQ7CisgICAgICAgICAgICAgICAgYXV0
byYgc3R5bGUgPSBpbmxpbmVMZXZlbEJveC5zdHlsZSgpOworICAgICAgICAgICAgICAgIGF1dG8g
bG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IGZsb2F0VmFsdWVGb3JMZW5ndGgo
c3R5bGUudmVydGljYWxBbGlnbkxlbmd0aCgpLCBzdHlsZS5jb21wdXRlZExpbmVIZWlnaHQoKSkg
KyBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5hc2NlbnQ7CiAgICAgICAgICAgICAgICAg
bG9naWNhbFRvcCA9IHBhcmVudElubGluZUJveC5sYXlvdXRCb3VuZHMoKS5hc2NlbnQgLSBsb2dp
Y2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQpAQCAtNDUyLDcgKzQ1Miw3IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNv
bXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzVmVydGljYWxseShMaW5l
CiAgICAgICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHRleHQtYm90dG9tIGFsaWducyB3aXRoIHRo
ZSBpbmxpbmUgYm94J3MgZm9udCBtZXRyaWNzIGJvdHRvbSAoZGVzY2VudCkgYW5kIG5vdCB0aGUg
bGF5b3V0IGJvdW5kcyBib3R0b20uCiAgICAgICAgICAgICAgICAgYXV0byBwYXJlbnRJbmxpbmVC
b3hMYXlvdXRCb3VuZHMgPSBwYXJlbnRJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCk7CiAgICAgICAg
ICAgICAgICAgYXV0byBwYXJlbnRJbmxpbmVCb3hMb2dpY2FsQm90dG9tID0gcGFyZW50SW5saW5l
Qm94TGF5b3V0Qm91bmRzLmhlaWdodCgpIC0gcGFyZW50SW5saW5lQm94TGF5b3V0Qm91bmRzLmRl
c2NlbnQgKyBwYXJlbnRJbmxpbmVCb3guZGVzY2VudCgpLnZhbHVlT3IoSW5saW5lTGF5b3V0VW5p
dCgpKTsKLSAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50SW5saW5lQm94TG9naWNh
bEJvdHRvbSAtIGlubGluZUxldmVsQm94LT5sYXlvdXRCb3VuZHMoKS5oZWlnaHQoKTsKKyAgICAg
ICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50SW5saW5lQm94TG9naWNhbEJvdHRvbSAtIGlu
bGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmhlaWdodCgpOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZGVmYXVsdDoKQEAgLTQ2MSwxMCArNDYx
LDEwIEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25J
bmxpbmVMZXZlbEJveGVzVmVydGljYWxseShMaW5lCiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBhdXRvIHBhcmVudElubGluZUJveEFic29sdXRlVG9wQW5kQm90dG9tID0gaW5saW5lTGV2ZWxC
b3hBYnNvbHV0ZVRvcEFuZEJvdHRvbU1hcC5nZXQoJnBhcmVudElubGluZUJveCk7CiAgICAgICAg
ICAgICBhdXRvIGFic29sdXRlTG9naWNhbFRvcCA9IHBhcmVudElubGluZUJveEFic29sdXRlVG9w
QW5kQm90dG9tLnRvcCArIGxvZ2ljYWxUb3A7Ci0gICAgICAgICAgICBhdXRvIGFic29sdXRlTG9n
aWNhbEJvdHRvbSA9IGFic29sdXRlTG9naWNhbFRvcCArIGlubGluZUxldmVsQm94LT5sYXlvdXRC
b3VuZHMoKS5oZWlnaHQoKTsKLSAgICAgICAgICAgIGlubGluZUxldmVsQm94QWJzb2x1dGVUb3BB
bmRCb3R0b21NYXAuYWRkKGlubGluZUxldmVsQm94LmdldCgpLCBBYnNvbHV0ZVRvcEFuZEJvdHRv
bSB7IGFic29sdXRlTG9naWNhbFRvcCwgYWJzb2x1dGVMb2dpY2FsQm90dG9tIH0pOworICAgICAg
ICAgICAgYXV0byBhYnNvbHV0ZUxvZ2ljYWxCb3R0b20gPSBhYnNvbHV0ZUxvZ2ljYWxUb3AgKyBp
bmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5oZWlnaHQoKTsKKyAgICAgICAgICAgIGlubGlu
ZUxldmVsQm94QWJzb2x1dGVUb3BBbmRCb3R0b21NYXAuYWRkKCZpbmxpbmVMZXZlbEJveCwgQWJz
b2x1dGVUb3BBbmRCb3R0b20geyBhYnNvbHV0ZUxvZ2ljYWxUb3AsIGFic29sdXRlTG9naWNhbEJv
dHRvbSB9KTsKICAgICAgICAgICAgIC8vIFN0cmV0Y2ggdGhlIG1pbi9tYXggYWJzb2x1dGUgdmFs
dWVzIGlmIGFwcGxpY2FibGUuCi0gICAgICAgICAgICBpZiAocXVpcmtzLmlubGluZUxldmVsQm94
QWZmZWN0c0xpbmVCb3goKmlubGluZUxldmVsQm94LCBsaW5lQm94KSkgeworICAgICAgICAgICAg
aWYgKHF1aXJrcy5pbmxpbmVMZXZlbEJveEFmZmVjdHNMaW5lQm94KGlubGluZUxldmVsQm94LCBs
aW5lQm94KSkgewogICAgICAgICAgICAgICAgIG1pbmltdW1Mb2dpY2FsVG9wID0gc3RkOjptaW4o
bWluaW11bUxvZ2ljYWxUb3AudmFsdWVPcihhYnNvbHV0ZUxvZ2ljYWxUb3ApLCBhYnNvbHV0ZUxv
Z2ljYWxUb3ApOwogICAgICAgICAgICAgICAgIG1heGltdW1Mb2dpY2FsQm90dG9tID0gc3RkOjpt
YXgobWF4aW11bUxvZ2ljYWxCb3R0b20udmFsdWVPcihhYnNvbHV0ZUxvZ2ljYWxCb3R0b20pLCBh
YnNvbHV0ZUxvZ2ljYWxCb3R0b20pOwogICAgICAgICAgICAgfQpAQCAtNDgzLDcgKzQ4Myw3IEBA
IHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25JbmxpbmVM
ZXZlbEJveGVzVmVydGljYWxseShMaW5lCiAgICAgY29tcHV0ZUxpbmVCb3hMb2dpY2FsSGVpZ2h0
KCk7CiAKICAgICBhdXRvIGNvbXB1dGVSb290SW5saW5lQm94VmVydGljYWxQb3NpdGlvbiA9IFsm
XSB7Ci0gICAgICAgIEhhc2hNYXA8TGluZUJveDo6SW5saW5lTGV2ZWxCb3gqLCBJbmxpbmVMYXlv
dXRVbml0PiBpbmxpbmVMZXZlbEJveEFic29sdXRlQmFzZWxpbmVPZmZzZXRNYXA7CisgICAgICAg
IEhhc2hNYXA8Y29uc3QgTGluZUJveDo6SW5saW5lTGV2ZWxCb3gqLCBJbmxpbmVMYXlvdXRVbml0
PiBpbmxpbmVMZXZlbEJveEFic29sdXRlQmFzZWxpbmVPZmZzZXRNYXA7CiAgICAgICAgIGlubGlu
ZUxldmVsQm94QWJzb2x1dGVCYXNlbGluZU9mZnNldE1hcC5hZGQoJnJvb3RJbmxpbmVCb3gsIElu
bGluZUxheW91dFVuaXQgeyB9KTsKIAogICAgICAgICBhdXRvIG1heGltdW1Ub3BPZmZzZXRGcm9t
Um9vdElubGluZUJveEJhc2VsaW5lID0gT3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4geyB9OwpA
QCAtNDkyLDM3ICs0OTIsMzcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxpbmVCb3hI
ZWlnaHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKIAogICAgICAgICBm
b3IgKGF1dG8mIGlubGluZUxldmVsQm94IDogbGluZUJveC5ub25Sb290SW5saW5lTGV2ZWxCb3hl
cygpKSB7CiAgICAgICAgICAgICBhdXRvIGFic29sdXRlQmFzZWxpbmVPZmZzZXQgPSBJbmxpbmVM
YXlvdXRVbml0IHsgfTsKLSAgICAgICAgICAgIGlmICghaW5saW5lTGV2ZWxCb3gtPmhhc0xpbmVC
b3hSZWxhdGl2ZUFsaWdubWVudCgpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94
ID0gaW5saW5lTGV2ZWxCb3gtPmxheW91dEJveCgpOworICAgICAgICAgICAgaWYgKCFpbmxpbmVM
ZXZlbEJveC5oYXNMaW5lQm94UmVsYXRpdmVBbGlnbm1lbnQoKSkgeworICAgICAgICAgICAgICAg
IGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94LmxheW91dEJveCgpOwogICAgICAgICAg
ICAgICAgIGF1dG8mIHBhcmVudElubGluZUJveCA9IGxpbmVCb3guaW5saW5lTGV2ZWxCb3hGb3JM
YXlvdXRCb3gobGF5b3V0Qm94LnBhcmVudCgpKTsKICAgICAgICAgICAgICAgICBhdXRvIGJhc2Vs
aW5lT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gSW5saW5lTGF5b3V0VW5pdCB7IH07CiAKLSAg
ICAgICAgICAgICAgICBzd2l0Y2ggKGlubGluZUxldmVsQm94LT52ZXJ0aWNhbEFsaWduKCkpIHsK
KyAgICAgICAgICAgICAgICBzd2l0Y2ggKGlubGluZUxldmVsQm94LnZlcnRpY2FsQWxpZ24oKSkg
ewogICAgICAgICAgICAgICAgIGNhc2UgVmVydGljYWxBbGlnbjo6QmFzZWxpbmU6CiAgICAgICAg
ICAgICAgICAgICAgIGJhc2VsaW5lT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0geyB9OwogICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIFZlcnRpY2FsQWxp
Z246Ok1pZGRsZTogewotICAgICAgICAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRG
cm9tUGFyZW50QmFzZWxpbmUgPSAoaW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmhlaWdo
dCgpIC8gMiArIHBhcmVudElubGluZUJveC5zdHlsZSgpLmZvbnRNZXRyaWNzKCkueEhlaWdodCgp
IC8gMik7Ci0gICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lT2Zmc2V0RnJvbVBhcmVudEJhc2Vs
aW5lID0gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSAtIGlubGluZUxldmVsQm94
LT5iYXNlbGluZSgpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRG
cm9tUGFyZW50QmFzZWxpbmUgPSAoaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0
KCkgLyAyICsgcGFyZW50SW5saW5lQm94LnN0eWxlKCkuZm9udE1ldHJpY3MoKS54SGVpZ2h0KCkg
LyAyKTsKKyAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxp
bmUgPSBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lIC0gaW5saW5lTGV2ZWxCb3gu
YmFzZWxpbmUoKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIGNhc2UgVmVydGljYWxBbGlnbjo6QmFzZWxpbmVNaWRkbGU6IHsK
LSAgICAgICAgICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2Vs
aW5lID0gaW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmhlaWdodCgpIC8gMjsKLSAgICAg
ICAgICAgICAgICAgICAgYmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBsb2dpY2Fs
VG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lIC0gaW5saW5lTGV2ZWxCb3gtPmJhc2VsaW5lKCk7
CisgICAgICAgICAgICAgICAgICAgIGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNl
bGluZSA9IGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmhlaWdodCgpIC8gMjsKKyAgICAg
ICAgICAgICAgICAgICAgYmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBsb2dpY2Fs
VG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lIC0gaW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKTsK
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIGNhc2UgVmVydGljYWxBbGlnbjo6TGVuZ3RoOiB7Ci0gICAgICAgICAgICAgICAgICAg
IGF1dG8mIHN0eWxlID0gaW5saW5lTGV2ZWxCb3gtPnN0eWxlKCk7CisgICAgICAgICAgICAgICAg
ICAgIGF1dG8mIHN0eWxlID0gaW5saW5lTGV2ZWxCb3guc3R5bGUoKTsKICAgICAgICAgICAgICAg
ICAgICAgYXV0byB2ZXJ0aWNhbEFsaWduT2Zmc2V0ID0gZmxvYXRWYWx1ZUZvckxlbmd0aChzdHls
ZS52ZXJ0aWNhbEFsaWduTGVuZ3RoKCksIHN0eWxlLmNvbXB1dGVkTGluZUhlaWdodCgpKTsKLSAg
ICAgICAgICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5l
ID0gdmVydGljYWxBbGlnbk9mZnNldCArIGlubGluZUxldmVsQm94LT5iYXNlbGluZSgpOwotICAg
ICAgICAgICAgICAgICAgICBiYXNlbGluZU9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IGxvZ2lj
YWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgLSBpbmxpbmVMZXZlbEJveC0+YmFzZWxpbmUo
KTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJh
c2VsaW5lID0gdmVydGljYWxBbGlnbk9mZnNldCArIGlubGluZUxldmVsQm94LmJhc2VsaW5lKCk7
CisgICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0g
bG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSAtIGlubGluZUxldmVsQm94LmJhc2Vs
aW5lKCk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246OlRleHRUb3A6Ci0gICAgICAgICAgICAg
ICAgICAgIGJhc2VsaW5lT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gcGFyZW50SW5saW5lQm94
LmJhc2VsaW5lKCkgLSBpbmxpbmVMZXZlbEJveC0+bGF5b3V0Qm91bmRzKCkuYXNjZW50OworICAg
ICAgICAgICAgICAgICAgICBiYXNlbGluZU9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IHBhcmVu
dElubGluZUJveC5iYXNlbGluZSgpIC0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNj
ZW50OwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIFZl
cnRpY2FsQWxpZ246OlRleHRCb3R0b206Ci0gICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lT2Zm
c2V0RnJvbVBhcmVudEJhc2VsaW5lID0gaW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmRl
c2NlbnQgLSAqcGFyZW50SW5saW5lQm94LmRlc2NlbnQoKTsKKyAgICAgICAgICAgICAgICAgICAg
YmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBpbmxpbmVMZXZlbEJveC5sYXlvdXRC
b3VuZHMoKS5kZXNjZW50IC0gKnBhcmVudElubGluZUJveC5kZXNjZW50KCk7CiAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7CkBAIC01MzAsMTMgKzUzMCwxMyBA
QCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5l
TGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICBhYnNvbHV0ZUJhc2VsaW5lT2Zmc2V0ID0gaW5saW5lTGV2ZWxCb3hBYnNvbHV0ZUJhc2Vs
aW5lT2Zmc2V0TWFwLmdldCgmcGFyZW50SW5saW5lQm94KSArIGJhc2VsaW5lT2Zmc2V0RnJvbVBh
cmVudEJhc2VsaW5lOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzd2l0
Y2ggKGlubGluZUxldmVsQm94LT52ZXJ0aWNhbEFsaWduKCkpIHsKKyAgICAgICAgICAgICAgICBz
d2l0Y2ggKGlubGluZUxldmVsQm94LnZlcnRpY2FsQWxpZ24oKSkgewogICAgICAgICAgICAgICAg
IGNhc2UgVmVydGljYWxBbGlnbjo6VG9wOiB7Ci0gICAgICAgICAgICAgICAgICAgIGFic29sdXRl
QmFzZWxpbmVPZmZzZXQgPSByb290SW5saW5lQm94LmxheW91dEJvdW5kcygpLmFzY2VudCAtIGlu
bGluZUxldmVsQm94LT5sYXlvdXRCb3VuZHMoKS5hc2NlbnQ7CisgICAgICAgICAgICAgICAgICAg
IGFic29sdXRlQmFzZWxpbmVPZmZzZXQgPSByb290SW5saW5lQm94LmxheW91dEJvdW5kcygpLmFz
Y2VudCAtIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmFzY2VudDsKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGNhc2Ug
VmVydGljYWxBbGlnbjo6Qm90dG9tOiB7Ci0gICAgICAgICAgICAgICAgICAgIGFic29sdXRlQmFz
ZWxpbmVPZmZzZXQgPSBpbmxpbmVMZXZlbEJveC0+bGF5b3V0Qm91bmRzKCkuZGVzY2VudCAtIHJv
b3RJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCkuZGVzY2VudDsKKyAgICAgICAgICAgICAgICAgICAg
YWJzb2x1dGVCYXNlbGluZU9mZnNldCA9IGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmRl
c2NlbnQgLSByb290SW5saW5lQm94LmxheW91dEJvdW5kcygpLmRlc2NlbnQ7CiAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBkZWZh
dWx0OgpAQCAtNTQ0LDE2ICs1NDQsMTYgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxp
bmVCb3hIZWlnaHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgaW5saW5lTGV2ZWxCb3hBYnNvbHV0ZUJhc2VsaW5lT2Zmc2V0TWFwLmFkZChp
bmxpbmVMZXZlbEJveC5nZXQoKSwgYWJzb2x1dGVCYXNlbGluZU9mZnNldCk7Ci0gICAgICAgICAg
ICBhdXRvIGFmZmVjdHNSb290SW5saW5lQm94VmVydGljYWxQb3NpdGlvbiA9IHF1aXJrcy5pbmxp
bmVMZXZlbEJveEFmZmVjdHNMaW5lQm94KCppbmxpbmVMZXZlbEJveCwgbGluZUJveCk7CisgICAg
ICAgICAgICBpbmxpbmVMZXZlbEJveEFic29sdXRlQmFzZWxpbmVPZmZzZXRNYXAuYWRkKCZpbmxp
bmVMZXZlbEJveCwgYWJzb2x1dGVCYXNlbGluZU9mZnNldCk7CisgICAgICAgICAgICBhdXRvIGFm
ZmVjdHNSb290SW5saW5lQm94VmVydGljYWxQb3NpdGlvbiA9IHF1aXJrcy5pbmxpbmVMZXZlbEJv
eEFmZmVjdHNMaW5lQm94KGlubGluZUxldmVsQm94LCBsaW5lQm94KTsKICAgICAgICAgICAgIGlm
IChhZmZlY3RzUm9vdElubGluZUJveFZlcnRpY2FsUG9zaXRpb24pIHsKLSAgICAgICAgICAgICAg
ICBhdXRvIHRvcE9mZnNldEZyb21Sb290SW5saW5lQm94QmFzZWxpbmUgPSBhYnNvbHV0ZUJhc2Vs
aW5lT2Zmc2V0ICsgaW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmFzY2VudDsKKyAgICAg
ICAgICAgICAgICBhdXRvIHRvcE9mZnNldEZyb21Sb290SW5saW5lQm94QmFzZWxpbmUgPSBhYnNv
bHV0ZUJhc2VsaW5lT2Zmc2V0ICsgaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50
OwogICAgICAgICAgICAgICAgIGlmIChtYXhpbXVtVG9wT2Zmc2V0RnJvbVJvb3RJbmxpbmVCb3hC
YXNlbGluZSkKICAgICAgICAgICAgICAgICAgICAgbWF4aW11bVRvcE9mZnNldEZyb21Sb290SW5s
aW5lQm94QmFzZWxpbmUgPSBzdGQ6Om1heCgqbWF4aW11bVRvcE9mZnNldEZyb21Sb290SW5saW5l
Qm94QmFzZWxpbmUsIHRvcE9mZnNldEZyb21Sb290SW5saW5lQm94QmFzZWxpbmUpOwogICAgICAg
ICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgaXMgcXVpcmsg
bW9kZSBhbmQgdGhlIHJvb3QgaW5saW5lIGJveCBoYXMgbm8gY29udGVudC4gVGhlIHJvb3QgaW5s
aW5lIGJveCdzIGJhc2VsaW5lIGlzIGFuY2hvcmVkIGF0IDAuCiAgICAgICAgICAgICAgICAgICAg
IC8vIEhvd2V2ZXIgbmVnYXRpdmUgYXNjZW50IChlLmcgbmVnYXRpdmUgdG9wIG1hcmdpbikgY2Fu
ICJwdXNoIiB0aGUgcm9vdCBpbmxpbmUgYm94IHVwd2FyZHMgYW5kIGhhdmUgYSBuZWdhdGl2ZSB2
YWx1ZS4KLSAgICAgICAgICAgICAgICAgICAgbWF4aW11bVRvcE9mZnNldEZyb21Sb290SW5saW5l
Qm94QmFzZWxpbmUgPSBpbmxpbmVMZXZlbEJveC0+bGF5b3V0Qm91bmRzKCkuYXNjZW50ID49IDAK
KyAgICAgICAgICAgICAgICAgICAgbWF4aW11bVRvcE9mZnNldEZyb21Sb290SW5saW5lQm94QmFz
ZWxpbmUgPSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5hc2NlbnQgPj0gMAogICAgICAg
ICAgICAgICAgICAgICAgICAgPyBzdGQ6Om1heCgwLjBmLCB0b3BPZmZzZXRGcm9tUm9vdElubGlu
ZUJveEJhc2VsaW5lKQogICAgICAgICAgICAgICAgICAgICAgICAgOiB0b3BPZmZzZXRGcm9tUm9v
dElubGluZUJveEJhc2VsaW5lOwogICAgICAgICAgICAgICAgIH0KQEAgLTU2Niw1MCArNTY2LDUw
IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbXB1dGVMaW5lQm94SGVpZ2h0QW5kQWxpZ25Jbmxp
bmVMZXZlbEJveGVzVmVydGljYWxseShMaW5lCiAKICAgICBhdXRvIGFsaWduSW5saW5lTGV2ZWxC
b3hlcyA9IFsmXSB7CiAgICAgICAgIGZvciAoYXV0byYgaW5saW5lTGV2ZWxCb3ggOiBsaW5lQm94
Lm5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkpIHsKLSAgICAgICAgICAgIGF1dG8mIGxheW91dEJv
eCA9IGlubGluZUxldmVsQm94LT5sYXlvdXRCb3goKTsKKyAgICAgICAgICAgIGF1dG8mIGxheW91
dEJveCA9IGlubGluZUxldmVsQm94LmxheW91dEJveCgpOwogICAgICAgICAgICAgYXV0byYgcGFy
ZW50SW5saW5lQm94ID0gbGluZUJveC5pbmxpbmVMZXZlbEJveEZvckxheW91dEJveChsYXlvdXRC
b3gucGFyZW50KCkpOwogICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wID0gSW5saW5lTGF5b3V0
VW5pdCB7IH07Ci0gICAgICAgICAgICBzd2l0Y2ggKGlubGluZUxldmVsQm94LT52ZXJ0aWNhbEFs
aWduKCkpIHsKKyAgICAgICAgICAgIHN3aXRjaCAoaW5saW5lTGV2ZWxCb3gudmVydGljYWxBbGln
bigpKSB7CiAgICAgICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lOgotICAgICAg
ICAgICAgICAgIGxvZ2ljYWxUb3AgPSBwYXJlbnRJbmxpbmVCb3guYmFzZWxpbmUoKSAtIGlubGlu
ZUxldmVsQm94LT5iYXNlbGluZSgpOworICAgICAgICAgICAgICAgIGxvZ2ljYWxUb3AgPSBwYXJl
bnRJbmxpbmVCb3guYmFzZWxpbmUoKSAtIGlubGluZUxldmVsQm94LmJhc2VsaW5lKCk7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246Ok1pZGRs
ZTogewotICAgICAgICAgICAgICAgIGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNl
bGluZSA9IChpbmxpbmVMZXZlbEJveC0+bG9naWNhbEhlaWdodCgpIC8gMiArIHBhcmVudElubGlu
ZUJveC5zdHlsZSgpLmZvbnRNZXRyaWNzKCkueEhlaWdodCgpIC8gMik7CisgICAgICAgICAgICAg
ICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gKGlubGluZUxldmVs
Qm94LmxvZ2ljYWxIZWlnaHQoKSAvIDIgKyBwYXJlbnRJbmxpbmVCb3guc3R5bGUoKS5mb250TWV0
cmljcygpLnhIZWlnaHQoKSAvIDIpOwogICAgICAgICAgICAgICAgIGxvZ2ljYWxUb3AgPSBwYXJl
bnRJbmxpbmVCb3guYmFzZWxpbmUoKSAtIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxp
bmU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBj
YXNlIFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lTWlkZGxlOiB7Ci0gICAgICAgICAgICAgICAgYXV0
byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gaW5saW5lTGV2ZWxCb3gtPmxv
Z2ljYWxIZWlnaHQoKSAvIDI7CisgICAgICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0
RnJvbVBhcmVudEJhc2VsaW5lID0gaW5saW5lTGV2ZWxCb3gubG9naWNhbEhlaWdodCgpIC8gMjsK
ICAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50SW5saW5lQm94LmJhc2VsaW5lKCkg
LSBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpMZW5n
dGg6IHsKLSAgICAgICAgICAgICAgICBhdXRvJiBzdHlsZSA9IGlubGluZUxldmVsQm94LT5zdHls
ZSgpOworICAgICAgICAgICAgICAgIGF1dG8mIHN0eWxlID0gaW5saW5lTGV2ZWxCb3guc3R5bGUo
KTsKICAgICAgICAgICAgICAgICBhdXRvIHZlcnRpY2FsQWxpZ25PZmZzZXQgPSBmbG9hdFZhbHVl
Rm9yTGVuZ3RoKHN0eWxlLnZlcnRpY2FsQWxpZ25MZW5ndGgoKSwgc3R5bGUuY29tcHV0ZWRMaW5l
SGVpZ2h0KCkpOwotICAgICAgICAgICAgICAgIGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJl
bnRCYXNlbGluZSA9IHZlcnRpY2FsQWxpZ25PZmZzZXQgKyBpbmxpbmVMZXZlbEJveC0+YmFzZWxp
bmUoKTsKKyAgICAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFz
ZWxpbmUgPSB2ZXJ0aWNhbEFsaWduT2Zmc2V0ICsgaW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKTsK
ICAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50SW5saW5lQm94LmJhc2VsaW5lKCkg
LSBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLy8gTm90ZSB0aGF0ICh0ZXh0KXRvcC9i
b3R0b20gYWxpZ24gdGhlaXIgbGF5b3V0IGJvdW5kcy4KICAgICAgICAgICAgIGNhc2UgVmVydGlj
YWxBbGlnbjo6VGV4dFRvcDoKLSAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gaW5saW5lTGV2
ZWxCb3gtPmxheW91dEJvdW5kcygpLmFzY2VudCAtIGlubGluZUxldmVsQm94LT5iYXNlbGluZSgp
OworICAgICAgICAgICAgICAgIGxvZ2ljYWxUb3AgPSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3Vu
ZHMoKS5hc2NlbnQgLSBpbmxpbmVMZXZlbEJveC5iYXNlbGluZSgpOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpUZXh0Qm90dG9tOgotICAg
ICAgICAgICAgICAgIGxvZ2ljYWxUb3AgPSBwYXJlbnRJbmxpbmVCb3gubG9naWNhbEhlaWdodCgp
IC0gaW5saW5lTGV2ZWxCb3gtPmxheW91dEJvdW5kcygpLmRlc2NlbnQgLSBpbmxpbmVMZXZlbEJv
eC0+YmFzZWxpbmUoKTsKKyAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50SW5saW5l
Qm94LmxvZ2ljYWxIZWlnaHQoKSAtIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmRlc2Nl
bnQgLSBpbmxpbmVMZXZlbEJveC5iYXNlbGluZSgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpUb3A6CiAgICAgICAgICAgICAgICAgLy8g
Tm90ZSB0aGF0IHRoaXMgbG9naWNhbCB0b3AgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQg
aW5saW5lIGJveC4KLSAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gaW5saW5lTGV2ZWxCb3gt
PmxheW91dEJvdW5kcygpLmFzY2VudCAtIGlubGluZUxldmVsQm94LT5iYXNlbGluZSgpOworICAg
ICAgICAgICAgICAgIGxvZ2ljYWxUb3AgPSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5h
c2NlbnQgLSBpbmxpbmVMZXZlbEJveC5iYXNlbGluZSgpOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpCb3R0b206CiAgICAgICAgICAgICAg
ICAgLy8gTm90ZSB0aGF0IHRoaXMgbG9naWNhbCB0b3AgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBw
YXJlbnQgaW5saW5lIGJveC4KLSAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gbGluZUJveC5s
b2dpY2FsSGVpZ2h0KCkgLSBpbmxpbmVMZXZlbEJveC0+bGF5b3V0Qm91bmRzKCkuZGVzY2VudCAt
IGlubGluZUxldmVsQm94LT5iYXNlbGluZSgpOworICAgICAgICAgICAgICAgIGxvZ2ljYWxUb3Ag
PSBsaW5lQm94LmxvZ2ljYWxIZWlnaHQoKSAtIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygp
LmRlc2NlbnQgLSBpbmxpbmVMZXZlbEJveC5iYXNlbGluZSgpOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX0lN
UExFTUVOVEVEX1lFVCgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgaW5saW5lTGV2ZWxCb3gtPnNldExvZ2ljYWxUb3AobG9naWNhbFRvcCk7Cisg
ICAgICAgICAgICBpbmxpbmVMZXZlbEJveC5zZXRMb2dpY2FsVG9wKGxvZ2ljYWxUb3ApOwogICAg
ICAgICB9CiAgICAgfTsKICAgICBhbGlnbklubGluZUxldmVsQm94ZXMoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0UXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAppbmRleCA4ZDNjNjY4YmY4ZDA5ZDIy
MDA1NTQ2MjcwOWRhYjAyMzc3NmQyZmNmLi45MWJlNjVkYWQ1Y2M1ZjU2YjI5ZWIwNzAzZTZjZGM5
NDM5MGFjMmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3Mu
Y3BwCkBAIC02Miw3ICs2Miw3IEBAIGJvb2wgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJr
czo6aW5saW5lTGV2ZWxCb3hBZmZlY3RzTGluZUJveChjb25zdCBMaW5lQm94CiAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IGxpbmVC
b3gubm9uUm9vdElubGluZUxldmVsQm94ZXMoKSkgewogICAgICAgICAgICAgLy8gRmlsdGVyIG91
dCBlbXB0eSBpbmxpbmUgYm94ZXMgZS5nLiA8ZGl2PjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+
PGJyPjwvZGl2PgotICAgICAgICAgICAgaWYgKGlubGluZUxldmVsQm94LT5pc0lubGluZUJveCgp
ICYmIGlubGluZUxldmVsQm94LT5oYXNDb250ZW50KCkpCisgICAgICAgICAgICBpZiAoaW5saW5l
TGV2ZWxCb3guaXNJbmxpbmVCb3goKSAmJiBpbmxpbmVMZXZlbEJveC5oYXNDb250ZW50KCkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0
cnVlOwpAQCAtODIsOSArODIsOSBAQCBib29sIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpRdWly
a3M6OmlubGluZUxldmVsQm94QWZmZWN0c0xpbmVCb3goY29uc3QgTGluZUJveAogICAgICAgICAg
ICAgICAgIGlmICghbGluZUJveC5oYXNJbmxpbmVCb3goKSkKICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgIGZvciAoYXV0byYgaW5saW5lTGV2ZWxCb3gg
OiBsaW5lQm94Lm5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCFpbmxpbmVMZXZlbEJveC0+aXNJbmxpbmVCb3goKSkKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKCFpbmxpbmVMZXZlbEJveC5pc0lubGluZUJveCgpKQogICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpbmxpbmVMZXZlbEJveC0+
aGFzQ29udGVudCgpKQorICAgICAgICAgICAgICAgICAgICBpZiAoaW5saW5lTGV2ZWxCb3guaGFz
Q29udGVudCgpKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAK
aW5kZXggYjQzY2NjMTA0MTI5Y2MyMTIxMzRjMjE2NmFiNjY1ZGRhYTZhZjA5ZS4uYjdlZWM0NTUy
OTZhMWM3MDM2ZjAxYWVjM2U4YThlNTIzNGJkNmYzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5jcHAKQEAgLTky
LDEwICs5MiwxMCBAQCBMaW5lQm94OjpMaW5lQm94KGNvbnN0IEJveCYgcm9vdExheW91dEJveCwg
Y29uc3QgSW5saW5lTGF5b3V0UG9pbnQmIGxvZ2ljYWxUb3BsZQogICAgIG1fbm9uUm9vdElubGlu
ZUxldmVsQm94TWFwLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobnVtYmVyT2ZSdW5zKTsKIH0KIAot
dm9pZCBMaW5lQm94OjphZGRJbmxpbmVMZXZlbEJveChzdGQ6OnVuaXF1ZV9wdHI8SW5saW5lTGV2
ZWxCb3g+JiYgaW5saW5lTGV2ZWxCb3gpCit2b2lkIExpbmVCb3g6OmFkZElubGluZUxldmVsQm94
KElubGluZUxldmVsQm94JiYgaW5saW5lTGV2ZWxCb3gpCiB7Ci0gICAgbV9ib3hUeXBlcy5hZGQo
aW5saW5lTGV2ZWxCb3gtPnR5cGUoKSk7Ci0gICAgbV9ub25Sb290SW5saW5lTGV2ZWxCb3hNYXAu
c2V0KCZpbmxpbmVMZXZlbEJveC0+bGF5b3V0Qm94KCksIGlubGluZUxldmVsQm94LmdldCgpKTsK
KyAgICBtX2JveFR5cGVzLmFkZChpbmxpbmVMZXZlbEJveC50eXBlKCkpOworICAgIG1fbm9uUm9v
dElubGluZUxldmVsQm94TWFwLnNldCgmaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm94KCksIG1fbm9u
Um9vdElubGluZUxldmVsQm94TGlzdC5zaXplKCkpOwogICAgIG1fbm9uUm9vdElubGluZUxldmVs
Qm94TGlzdC5hcHBlbmQoV1RGTW92ZShpbmxpbmVMZXZlbEJveCkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgK
aW5kZXggZGFiMmZhMDlmMTNlMDg5YTczODI2MDU2NDU3ODg3ZmMzYTgyNzFjZi4uMzYxYTVjOTNi
MmYzYjYzOTBkMTgyYjM1ZGNlMjUwOWE3MGJlNWFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaApAQCAtNjAsMTIg
KzYwLDExIEBAIGNsYXNzIExpbmVCb3ggewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHN0cnVjdCBJbmxpbmVMZXZlbEJveCB7Ci0gICAgICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURURfSU5MSU5FKElubGluZUxldmVsQm94KTsKICAgICBwdWJsaWM6Ci0gICAgICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+IGNyZWF0ZUlu
bGluZUJveChjb25zdCBCb3gmLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0LCBJbmxpbmVM
YXlvdXRVbml0IGxvZ2ljYWxXaWR0aCk7Ci0gICAgICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+IGNyZWF0ZUF0b21pY0lubGluZUxldmVsQm94KGNvbnN0
IEJveCYsIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFNpemUpOwot
ICAgICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPExpbmVCb3g6OklubGluZUxldmVsQm94PiBj
cmVhdGVMaW5lQnJlYWtCb3goY29uc3QgQm94JiwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVm
dCk7Ci0gICAgICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGluZUJveDo6SW5saW5lTGV2ZWxC
b3g+IGNyZWF0ZUdlbmVyaWNJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmLCBJbmxpbmVMYXlvdXRV
bml0IGxvZ2ljYWxMZWZ0KTsKKyAgICAgICAgc3RhdGljIExpbmVCb3g6OklubGluZUxldmVsQm94
IGNyZWF0ZUlubGluZUJveChjb25zdCBCb3gmLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0
LCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCk7CisgICAgICAgIHN0YXRpYyBMaW5lQm94
OjpJbmxpbmVMZXZlbEJveCBjcmVhdGVBdG9taWNJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmLCBJ
bmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRTaXplKTsKKyAgICAgICAg
c3RhdGljIExpbmVCb3g6OklubGluZUxldmVsQm94IGNyZWF0ZUxpbmVCcmVha0JveChjb25zdCBC
b3gmLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0KTsKKyAgICAgICAgc3RhdGljIExpbmVC
b3g6OklubGluZUxldmVsQm94IGNyZWF0ZUdlbmVyaWNJbmxpbmVMZXZlbEJveChjb25zdCBCb3gm
LCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0KTsKIAogICAgICAgICBJbmxpbmVMYXlvdXRV
bml0IGJhc2VsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9iYXNlbGluZTsgfQogICAgICAgICBPcHRp
b25hbDxJbmxpbmVMYXlvdXRVbml0PiBkZXNjZW50KCkgY29uc3QgeyByZXR1cm4gbV9kZXNjZW50
OyB9CkBAIC0xNTgsNyArMTU3LDcgQEAgcHVibGljOgogICAgIElubGluZVJlY3QgbG9naWNhbEJv
cmRlckJveEZvcklubGluZUJveChjb25zdCBCb3gmLCBjb25zdCBCb3hHZW9tZXRyeSYpIGNvbnN0
OwogCiAgICAgY29uc3QgSW5saW5lTGV2ZWxCb3gmIHJvb3RJbmxpbmVCb3goKSBjb25zdCB7IHJl
dHVybiBtX3Jvb3RJbmxpbmVCb3g7IH0KLSAgICB1c2luZyBJbmxpbmVMZXZlbEJveExpc3QgPSBW
ZWN0b3I8c3RkOjp1bmlxdWVfcHRyPElubGluZUxldmVsQm94Pj47CisgICAgdXNpbmcgSW5saW5l
TGV2ZWxCb3hMaXN0ID0gVmVjdG9yPElubGluZUxldmVsQm94PjsKICAgICBjb25zdCBJbmxpbmVM
ZXZlbEJveExpc3QmIG5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkgY29uc3QgeyByZXR1cm4gbV9u
b25Sb290SW5saW5lTGV2ZWxCb3hMaXN0OyB9CiAKICAgICBJbmxpbmVMYXlvdXRVbml0IGFsaWdu
bWVudEJhc2VsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94LmxvZ2ljYWxUb3Ao
KSArIG1fcm9vdElubGluZUJveC5iYXNlbGluZSgpOyB9CkBAIC0xNjgsMTEgKzE2NywxMiBAQCBw
cml2YXRlOgogCiAgICAgdm9pZCBzZXRMb2dpY2FsSGVpZ2h0KElubGluZUxheW91dFVuaXQgbG9n
aWNhbEhlaWdodCkgeyBtX2xvZ2ljYWxSZWN0LnNldEhlaWdodChsb2dpY2FsSGVpZ2h0KTsgfQog
Ci0gICAgdm9pZCBhZGRJbmxpbmVMZXZlbEJveChzdGQ6OnVuaXF1ZV9wdHI8SW5saW5lTGV2ZWxC
b3g+JiYpOworICAgIHZvaWQgYWRkSW5saW5lTGV2ZWxCb3goSW5saW5lTGV2ZWxCb3gmJik7Cisg
ICAgSW5saW5lTGV2ZWxCb3hMaXN0JiBub25Sb290SW5saW5lTGV2ZWxCb3hlcygpIHsgcmV0dXJu
IG1fbm9uUm9vdElubGluZUxldmVsQm94TGlzdDsgfQogCiAgICAgSW5saW5lTGV2ZWxCb3gmIHJv
b3RJbmxpbmVCb3goKSB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3g7IH0KIAotICAgIElubGluZUxl
dmVsQm94JiBpbmxpbmVMZXZlbEJveEZvckxheW91dEJveChjb25zdCBCb3gmIGxheW91dEJveCkg
eyByZXR1cm4gJmxheW91dEJveCA9PSAmbV9yb290SW5saW5lQm94LmxheW91dEJveCgpID8gbV9y
b290SW5saW5lQm94IDogKm1fbm9uUm9vdElubGluZUxldmVsQm94TWFwLmdldCgmbGF5b3V0Qm94
KTsgfQorICAgIElubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveEZvckxheW91dEJveChjb25z
dCBCb3gmIGxheW91dEJveCkgeyByZXR1cm4gJmxheW91dEJveCA9PSAmbV9yb290SW5saW5lQm94
LmxheW91dEJveCgpID8gbV9yb290SW5saW5lQm94IDogbV9ub25Sb290SW5saW5lTGV2ZWxCb3hM
aXN0W21fbm9uUm9vdElubGluZUxldmVsQm94TWFwLmdldCgmbGF5b3V0Qm94KV07IH0KICAgICBJ
bmxpbmVSZWN0IGxvZ2ljYWxSZWN0Rm9ySW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiBsYXlvdXRC
b3gpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRIYXNDb250ZW50KGJvb2wgaGFzQ29udGVudCkgeyBt
X2hhc0NvbnRlbnQgPSBoYXNDb250ZW50OyB9CkBAIC0xODYsMjcgKzE4NiwyNyBAQCBwcml2YXRl
OgogICAgIElubGluZUxldmVsQm94IG1fcm9vdElubGluZUJveDsKICAgICBJbmxpbmVMZXZlbEJv
eExpc3QgbV9ub25Sb290SW5saW5lTGV2ZWxCb3hMaXN0OwogCi0gICAgSGFzaE1hcDxjb25zdCBC
b3gqLCBJbmxpbmVMZXZlbEJveCo+IG1fbm9uUm9vdElubGluZUxldmVsQm94TWFwOworICAgIEhh
c2hNYXA8Y29uc3QgQm94Kiwgc2l6ZV90PiBtX25vblJvb3RJbmxpbmVMZXZlbEJveE1hcDsKIH07
CiAKLWlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+IExpbmVC
b3g6OklubGluZUxldmVsQm94OjpjcmVhdGVBdG9taWNJbmxpbmVMZXZlbEJveChjb25zdCBCb3gm
IGxheW91dEJveCwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0U2l6
ZSBsb2dpY2FsU2l6ZSkKK2lubGluZSBMaW5lQm94OjpJbmxpbmVMZXZlbEJveCBMaW5lQm94OjpJ
bmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiBsYXlv
dXRCb3gsIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFNpemUgbG9n
aWNhbFNpemUpCiB7Ci0gICAgcmV0dXJuIG1ha2VVbmlxdWU8TGluZUJveDo6SW5saW5lTGV2ZWxC
b3g+KGxheW91dEJveCwgbG9naWNhbExlZnQsIGxvZ2ljYWxTaXplLCBUeXBlOjpBdG9taWNJbmxp
bmVMZXZlbEJveCk7CisgICAgcmV0dXJuIExpbmVCb3g6OklubGluZUxldmVsQm94IHsgbGF5b3V0
Qm94LCBsb2dpY2FsTGVmdCwgbG9naWNhbFNpemUsIFR5cGU6OkF0b21pY0lubGluZUxldmVsQm94
IH07CiB9CiAKLWlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8TGluZUJveDo6SW5saW5lTGV2ZWxCb3g+
IExpbmVCb3g6OklubGluZUxldmVsQm94OjpjcmVhdGVJbmxpbmVCb3goY29uc3QgQm94JiBsYXlv
dXRCb3gsIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgbG9n
aWNhbFdpZHRoKQoraW5saW5lIExpbmVCb3g6OklubGluZUxldmVsQm94IExpbmVCb3g6OklubGlu
ZUxldmVsQm94OjpjcmVhdGVJbmxpbmVCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIElubGluZUxh
eW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKQogewot
ICAgIHJldHVybiBtYWtlVW5pcXVlPExpbmVCb3g6OklubGluZUxldmVsQm94PihsYXlvdXRCb3gs
IGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRTaXplIHsgbG9naWNhbFdpZHRoLCB7IH0gfSwgVHlw
ZTo6SW5saW5lQm94KTsKKyAgICByZXR1cm4gTGluZUJveDo6SW5saW5lTGV2ZWxCb3ggeyBsYXlv
dXRCb3gsIGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRTaXplIHsgbG9naWNhbFdpZHRoLCB7IH0g
fSwgVHlwZTo6SW5saW5lQm94IH07CiB9CiAKLWlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8TGluZUJv
eDo6SW5saW5lTGV2ZWxCb3g+IExpbmVCb3g6OklubGluZUxldmVsQm94OjpjcmVhdGVMaW5lQnJl
YWtCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQp
CitpbmxpbmUgTGluZUJveDo6SW5saW5lTGV2ZWxCb3ggTGluZUJveDo6SW5saW5lTGV2ZWxCb3g6
OmNyZWF0ZUxpbmVCcmVha0JveChjb25zdCBCb3gmIGxheW91dEJveCwgSW5saW5lTGF5b3V0VW5p
dCBsb2dpY2FsTGVmdCkKIHsKLSAgICByZXR1cm4gbWFrZVVuaXF1ZTxMaW5lQm94OjpJbmxpbmVM
ZXZlbEJveD4obGF5b3V0Qm94LCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0U2l6ZSB7IH0sIFR5
cGU6OkxpbmVCcmVha0JveCk7CisgICAgcmV0dXJuIExpbmVCb3g6OklubGluZUxldmVsQm94IHsg
bGF5b3V0Qm94LCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0U2l6ZSB7IH0sIFR5cGU6OkxpbmVC
cmVha0JveCB9OwogfQogCi1pbmxpbmUgc3RkOjp1bmlxdWVfcHRyPExpbmVCb3g6OklubGluZUxl
dmVsQm94PiBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlR2VuZXJpY0lubGluZUxldmVs
Qm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0KQor
aW5saW5lIExpbmVCb3g6OklubGluZUxldmVsQm94IExpbmVCb3g6OklubGluZUxldmVsQm94Ojpj
cmVhdGVHZW5lcmljSW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIElubGluZUxh
eW91dFVuaXQgbG9naWNhbExlZnQpCiB7Ci0gICAgcmV0dXJuIG1ha2VVbmlxdWU8TGluZUJveDo6
SW5saW5lTGV2ZWxCb3g+KGxheW91dEJveCwgbG9naWNhbExlZnQsIElubGluZUxheW91dFNpemUg
eyB9LCBUeXBlOjpHZW5lcmljSW5saW5lTGV2ZWxCb3gpOworICAgIHJldHVybiBMaW5lQm94OjpJ
bmxpbmVMZXZlbEJveCB7IGxheW91dEJveCwgbG9naWNhbExlZnQsIElubGluZUxheW91dFNpemUg
eyB9LCBUeXBlOjpHZW5lcmljSW5saW5lTGV2ZWxCb3ggfTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5l
Q29udGVudEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDViMThlMmYxZWZh
YWE1YmUwMWE2NmE2MDAxOGNkMTY1MGZmMzk0YWEuLjdkMTc2YTc5YTViOWQyNzlmNzhkZjZjN2Nm
NGQyYTNiYWI0YmFlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250
ZW50QnVpbGRlci5jcHAKQEAgLTE4OSw3ICsxODksNyBAQCBJbmxpbmVDb250ZW50QnVpbGRlcjo6
TGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBJbmxpbmVDb250ZW50QnVpbGRl
cgogICAgICAgICAgICAgfQogICAgICAgICAgICAgLy8gVGV4dCArIDxicj4gKG9yIGp1c3QgPGJy
PiBvciB0ZXh0PHNwYW4+PC9zcGFuPjxicj4pIGJlaGF2ZXMgbGlrZSB0ZXh0LgogICAgICAgICAg
ICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IG5vblJvb3RJbmxpbmVMZXZlbEJveExpc3Qp
IHsKLSAgICAgICAgICAgICAgICBpZiAoaW5saW5lTGV2ZWxCb3gtPmlzQXRvbWljSW5saW5lTGV2
ZWxCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc0F0b21pY0lu
bGluZUxldmVsQm94KCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gQ29udGVudCBsaWtlIHRl
eHQ8aW1nPiBwcmV2ZW50cyBsZWdhY3kgc25hcHBpbmcuCiAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICB9CkBAIC0zNzQsMTQgKzM3NCwxNCBAQCB2b2lk
IElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5Tm9uUm9vdElubGluZUJveGVzKGNv
bnN0IExheW91dDo6SW5saW5lRgogCiAgICAgICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9
IGxpbmVCb3gubG9naWNhbFJlY3QoKTsKICAgICAgICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJv
eCA6IGxpbmVCb3gubm9uUm9vdElubGluZUxldmVsQm94ZXMoKSkgewotICAgICAgICAgICAgaWYg
KCFpbmxpbmVMZXZlbEJveC0+aXNJbmxpbmVCb3goKSkKKyAgICAgICAgICAgIGlmICghaW5saW5l
TGV2ZWxCb3guaXNJbmxpbmVCb3goKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgIGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94LT5sYXlvdXRCb3goKTsKKyAg
ICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94LmxheW91dEJveCgpOwog
ICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBtX2xheW91dFN0YXRlLmdlb21ldHJ5Rm9y
Qm94KGxheW91dEJveCk7CiAgICAgICAgICAgICBhdXRvIGlubGluZUJveFJlY3QgPSBsaW5lQm94
LmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7CiAg
ICAgICAgICAgICBpbmxpbmVCb3hSZWN0Lm1vdmVCeShsaW5lQm94TG9naWNhbFJlY3QudG9wTGVm
dCgpKTsKIAotICAgICAgICAgICAgaW5saW5lQ29udGVudC5ub25Sb290SW5saW5lQm94ZXMuYXBw
ZW5kKHsgbGluZUluZGV4LCBsYXlvdXRCb3gsIGlubGluZUJveFJlY3QsIGlubGluZVF1aXJrcy5p
bmxpbmVMZXZlbEJveEFmZmVjdHNMaW5lQm94KCppbmxpbmVMZXZlbEJveCwgbGluZUJveCkgfSk7
CisgICAgICAgICAgICBpbmxpbmVDb250ZW50Lm5vblJvb3RJbmxpbmVCb3hlcy5hcHBlbmQoeyBs
aW5lSW5kZXgsIGxheW91dEJveCwgaW5saW5lQm94UmVjdCwgaW5saW5lUXVpcmtzLmlubGluZUxl
dmVsQm94QWZmZWN0c0xpbmVCb3goaW5saW5lTGV2ZWxCb3gsIGxpbmVCb3gpIH0pOwogICAgICAg
ICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCmluZGV4IDUyNDYxMTg5MTU5ZjU5NDk1MGJiYjNlNDZk
OTdjMDU2ZDM3YjRkZjYuLjUzYTY0NTk3NDcxZDVhMDEzYTQ1ZDkwOWY0ZGU3OWRiY2E4YTI5NzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVC
dWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRU
cmVlQnVpbGRlci5jcHAKQEAgLTQzMiw3ICs0MzIsNyBAQCB2b2lkIHNob3dJbmxpbmVUcmVlQW5k
UnVucyhUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwg
YwogICAgICAgICB9OwogICAgICAgICBvdXRwdXRJbmxpbmVMZXZlbEJveChsaW5lQm94LnJvb3RJ
bmxpbmVCb3goKSk7CiAgICAgICAgIGZvciAoYXV0byYgaW5saW5lTGV2ZWxCb3ggOiBsaW5lQm94
Lm5vblJvb3RJbmxpbmVMZXZlbEJveGVzKCkpCi0gICAgICAgICAgICBvdXRwdXRJbmxpbmVMZXZl
bEJveCgqaW5saW5lTGV2ZWxCb3gpOworICAgICAgICAgICAgb3V0cHV0SW5saW5lTGV2ZWxCb3go
aW5saW5lTGV2ZWxCb3gpOwogCiAgICAgICAgIGFkZFNwYWNpbmcoKTsKICAgICAgICAgc3RyZWFt
IDw8ICIgIFJ1bnM6IjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>