<?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>127531</bug_id>
          
          <creation_ts>2014-01-23 18:11:05 -0800</creation_ts>
          <short_desc>Simplify API::LoaderClient management</short_desc>
          <delta_ts>2014-01-23 18:15:38 -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>New Bugs</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>971430</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-23 18:11:05 -0800</bug_when>
    <thetext>Simplify API::LoaderClient management</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971432</commentid>
    <comment_count>1</comment_count>
      <attachid>222055</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-23 18:11:49 -0800</bug_when>
    <thetext>Created attachment 222055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971436</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-23 18:15:38 -0800</bug_when>
    <thetext>Committed r162673: &lt;http://trac.webkit.org/changeset/162673&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222055</attachid>
            <date>2014-01-23 18:11:49 -0800</date>
            <delta_ts>2014-01-23 18:14:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127531-20140123181149.patch</filename>
            <type>text/plain</type>
            <size>28547</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWFlZDQ0NjRhZTEyYzcw
ZmY3MjE3YzU5ZDkyOWUzOGFjZDEwZTkyYS4uNTIxZjY1ODI4Zjc4NTUzOWM2YzkwMmVlNjE4ODFk
NTI3NzYyZTNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDgyIEBACiAyMDE0LTAxLTIzICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU2ltcGxpZnkgQVBJ
OjpMb2FkZXJDbGllbnQgbWFuYWdlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGRlZmF1bHQgaW1wbGVtZW50YXRpb25zIHRvIEFQSTo6TG9h
ZGVyQ2xpZW50IGFuZCBjaGFuZ2UgV2ViUGFnZVByb3h5OjpzZXRMb2FkZXJDbGllbnQgdG8KKyAg
ICAgICAgYWx3YXlzIGNyZWF0ZSBhIHBvbGljeSBjbGllbnQsIGV2ZW4gaWYgdGhlIGxvYWRlciBj
bGllbnQgc2V0IGlzIG51bGwuIFRoYXQgd2F5IHdlIGRvbid0IGhhdmUgdG8gbnVsbAorICAgICAg
ICBjaGVjayB0aGUgbG9hZGVyIGNsaWVudCBldmVyeXdoZXJlLgorCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9BUElMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6TG9hZGVyQ2xpZW50Ojpk
aWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKToKKyAgICAgICAgKEFQSTo6TG9hZGVyQ2xp
ZW50OjpkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSk6
CisgICAgICAgIChBUEk6OkxvYWRlckNsaWVudDo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhF
cnJvckZvckZyYW1lKToKKyAgICAgICAgKEFQSTo6TG9hZGVyQ2xpZW50OjpkaWRDb21taXRMb2Fk
Rm9yRnJhbWUpOgorICAgICAgICAoQVBJOjpMb2FkZXJDbGllbnQ6OmRpZEZpbmlzaERvY3VtZW50
TG9hZEZvckZyYW1lKToKKyAgICAgICAgKEFQSTo6TG9hZGVyQ2xpZW50OjpkaWRGaW5pc2hMb2Fk
Rm9yRnJhbWUpOgorICAgICAgICAoQVBJOjpMb2FkZXJDbGllbnQ6OmRpZEZhaWxMb2FkV2l0aEVy
cm9yRm9yRnJhbWUpOgorICAgICAgICAoQVBJOjpMb2FkZXJDbGllbnQ6OmRpZFNhbWVEb2N1bWVu
dE5hdmlnYXRpb25Gb3JGcmFtZSk6CisgICAgICAgIChBUEk6OkxvYWRlckNsaWVudDo6ZGlkUmVj
ZWl2ZVRpdGxlRm9yRnJhbWUpOgorICAgICAgICAoQVBJOjpMb2FkZXJDbGllbnQ6OmRpZEZpcnN0
TGF5b3V0Rm9yRnJhbWUpOgorICAgICAgICAoQVBJOjpMb2FkZXJDbGllbnQ6OmRpZEZpcnN0Vmlz
dWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lKToKKyAgICAgICAgKEFQSTo6TG9hZGVyQ2xpZW50
OjpkaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkpOgorICAgICAgICAoQVBJOjpMb2FkZXJDbGll
bnQ6OmRpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnRGb3JGcmFtZSk6CisgICAgICAgIChBUEk6Okxv
YWRlckNsaWVudDo6ZGlkUnVuSW5zZWN1cmVDb250ZW50Rm9yRnJhbWUpOgorICAgICAgICAoQVBJ
OjpMb2FkZXJDbGllbnQ6OmRpZERldGVjdFhTU0ZvckZyYW1lKToKKyAgICAgICAgKEFQSTo6TG9h
ZGVyQ2xpZW50OjpkaWRMYXlvdXQpOgorICAgICAgICAoQVBJOjpMb2FkZXJDbGllbnQ6OmNhbkF1
dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2VJbkZyYW1lKToKKyAgICAgICAgKEFQSTo6
TG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2VJbkZyYW1lKToK
KyAgICAgICAgKEFQSTo6TG9hZGVyQ2xpZW50OjpkaWRTdGFydFByb2dyZXNzKToKKyAgICAgICAg
KEFQSTo6TG9hZGVyQ2xpZW50OjpkaWRDaGFuZ2VQcm9ncmVzcyk6CisgICAgICAgIChBUEk6Okxv
YWRlckNsaWVudDo6ZGlkRmluaXNoUHJvZ3Jlc3MpOgorICAgICAgICAoQVBJOjpMb2FkZXJDbGll
bnQ6OnByb2Nlc3NEaWRCZWNvbWVVbnJlc3BvbnNpdmUpOgorICAgICAgICAoQVBJOjpMb2FkZXJD
bGllbnQ6OmludGVyYWN0aW9uT2NjdXJyZWRXaGlsZVByb2Nlc3NVbnJlc3BvbnNpdmUpOgorICAg
ICAgICAoQVBJOjpMb2FkZXJDbGllbnQ6OnByb2Nlc3NEaWRCZWNvbWVSZXNwb25zaXZlKToKKyAg
ICAgICAgKEFQSTo6TG9hZGVyQ2xpZW50Ojpwcm9jZXNzRGlkQ3Jhc2gpOgorICAgICAgICAoQVBJ
OjpMb2FkZXJDbGllbnQ6OmRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdCk6CisgICAgICAgIChBUEk6
OkxvYWRlckNsaWVudDo6d2lsbEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKToKKyAgICAgICAgKEFQ
STo6TG9hZGVyQ2xpZW50OjpwbHVnaW5Mb2FkUG9saWN5KToKKyAgICAgICAgKEFQSTo6TG9hZGVy
Q2xpZW50OjpkaWRGYWlsVG9Jbml0aWFsaXplUGx1Z2luKToKKyAgICAgICAgKEFQSTo6TG9hZGVy
Q2xpZW50OjpkaWRCbG9ja0luc2VjdXJlUGx1Z2luVmVyc2lvbik6CisgICAgICAgIChBUEk6Okxv
YWRlckNsaWVudDo6d2ViR0xMb2FkUG9saWN5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRMb2FkZXJDbGll
bnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENoYW5nZUJhY2tGb3J3YXJk
TGlzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6d2lsbEdvVG9CYWNrRm9yd2Fy
ZExpc3RJdGVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpmaW5kUGx1Z2luKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRTdGFydFByb2dyZXNzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VQcm9ncmVzcyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRmluaXNoUHJvZ3Jlc3MpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zp
c2lvbmFsTG9hZEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OmRpZEZpbmlzaExvYWRGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6ZGlkRmFpbExvYWRGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6ZGlkRmlyc3RMYXlvdXRGb3JGcmFtZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6ZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZExheW91dCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWREaXNwbGF5SW5zZWN1cmVDb250ZW50Rm9yRnJh
bWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJ1bkluc2VjdXJlQ29udGVu
dEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWREZXRlY3RYU1NG
b3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6d2ViR0xQb2xpY3lGb3JV
UkwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnByb2Nlc3NEaWRCZWNvbWVVbnJl
c3BvbnNpdmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmludGVyYWN0aW9uT2Nj
dXJyZWRXaGlsZVByb2Nlc3NVbnJlc3BvbnNpdmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OnByb2Nlc3NEaWRCZWNvbWVSZXNwb25zaXZlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2gpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2VJbkZyYW1lKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRmFpbFRvSW5pdGlh
bGl6ZVBsdWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQmxvY2tJbnNl
Y3VyZVBsdWdpblZlcnNpb24pOgorCisyMDE0LTAxLTIzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CisKICAgICAgICAgU2ltcGxpZnkgQVBJOjpQb2xpY3lDbGllbnQgbWFu
YWdlbWVudAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI3NTI5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJTG9h
ZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSUxvYWRlckNsaWVu
dC5oCmluZGV4IGNiODc2Nzg4MDJiMjYzMGY1YTMyZTc5MWMyMTU2OWUwNDlhZmU1MzUuLjk1MzI4
MTE3ZjM3YTY3NmFjY2MxODlhYjU1ZDQxY2Y5MTJhOTIzZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9BUElMb2FkZXJDbGllbnQuaApAQCAtNTMsNTEgKzUzLDUxIEBAIGNs
YXNzIExvYWRlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TG9hZGVyQ2xpZW50KCkg
eyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZShX
ZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIEFQSTo6T2JqZWN0
KikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92
aXNpb25hbExvYWRGb3JGcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdlYktpdDo6V2ViRnJh
bWVQcm94eSosIEFQSTo6T2JqZWN0KikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsUHJv
dmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJL
aXQ6OldlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQVBJOjpP
YmplY3QqKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZShXZWJL
aXQ6OldlYlBhZ2VQcm94eSosIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIEFQSTo6T2JqZWN0Kikg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZShXZWJL
aXQ6OldlYlBhZ2VQcm94eSosIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIEFQSTo6T2JqZWN0Kikg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV2ViS2l0OjpXZWJQ
YWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBBUEk6Ok9iamVjdCopID0gMDsKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZShXZWJLaXQ6OldlYlBh
Z2VQcm94eSosIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
RXJyb3ImLCBBUEk6Ok9iamVjdCopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkU2FtZURvY3Vt
ZW50TmF2aWdhdGlvbkZvckZyYW1lKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJG
cmFtZVByb3h5KiwgV2ViS2l0OjpTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSwgQVBJOjpPYmpl
Y3QqKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKFdlYktp
dDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmLCBXZWJLaXQ6OldlYkZyYW1lUHJv
eHkqLCBBUEk6Ok9iamVjdCopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRmlyc3RMYXlvdXRG
b3JGcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIEFQ
STo6T2JqZWN0KikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5Kiwg
QVBJOjpPYmplY3QqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGly
ZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJL
aXQ6OldlYkZyYW1lUHJveHkqLCBBUEk6Ok9iamVjdCopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBk
aWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV2ViS2l0OjpXZWJQYWdlUHJv
eHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
JiwgQVBJOjpPYmplY3QqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZy
YW1lKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiwgQVBJOjpP
YmplY3QqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJh
bWUoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBBUEk6Ok9i
amVjdCopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV2ViS2l0
OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBBUEk6Ok9iamVjdCopIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsTG9hZFdpdGhFcnJvckZvckZyYW1lKFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VFcnJvciYsIEFQSTo6T2JqZWN0KikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFNhbWVE
b2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdlYktpdDo6
V2ViRnJhbWVQcm94eSosIFdlYktpdDo6U2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUsIEFQSTo6
T2JqZWN0KikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKFdl
YktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmLCBXZWJLaXQ6OldlYkZyYW1l
UHJveHkqLCBBUEk6Ok9iamVjdCopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRGaXJzdExheW91
dEZvckZyYW1lKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5Kiwg
QVBJOjpPYmplY3QqKSB7IH0KIAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgY29uc2lkZXIgcmVt
b3ZpbmcgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUgc2luY2UgaXQgaXMg
cmVwbGFjZWQgYnkgZGlkTGF5b3V0LgotICAgIHZpcnR1YWwgdm9pZCBkaWRGaXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdlYktpdDo6V2Vi
RnJhbWVQcm94eSosIEFQSTo6T2JqZWN0KikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRGaXJz
dFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdl
YktpdDo6V2ViRnJhbWVQcm94eSosIEFQSTo6T2JqZWN0KikgeyB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2Vi
S2l0OjpXZWJGcmFtZVByb3h5KiwgQVBJOjpPYmplY3QqKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IGRpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnRGb3JGcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSos
IFdlYktpdDo6V2ViRnJhbWVQcm94eSosIEFQSTo6T2JqZWN0KikgPSAwOwotICAgIHZpcnR1YWwg
dm9pZCBkaWRSdW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSos
IFdlYktpdDo6V2ViRnJhbWVQcm94eSosIEFQSTo6T2JqZWN0KikgPSAwOwotICAgIHZpcnR1YWwg
dm9pZCBkaWREZXRlY3RYU1NGb3JGcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdlYktpdDo6
V2ViRnJhbWVQcm94eSosIEFQSTo6T2JqZWN0KikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6Oldl
YkZyYW1lUHJveHkqLCBBUEk6Ok9iamVjdCopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWREaXNw
bGF5SW5zZWN1cmVDb250ZW50Rm9yRnJhbWUoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6
OldlYkZyYW1lUHJveHkqLCBBUEk6Ok9iamVjdCopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRS
dW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdlYktpdDo6
V2ViRnJhbWVQcm94eSosIEFQSTo6T2JqZWN0KikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZERl
dGVjdFhTU0ZvckZyYW1lKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJGcmFtZVBy
b3h5KiwgQVBJOjpPYmplY3QqKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaWRMYXlvdXQoV2Vi
S2l0OjpXZWJQYWdlUHJveHkqLCBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzLCBBUEk6Ok9iamVj
dCopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkTGF5b3V0KFdlYktpdDo6V2ViUGFnZVByb3h5
KiwgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcywgQVBJOjpPYmplY3QqKSB7IH0KICAgICAKLSAg
ICB2aXJ0dWFsIGJvb2wgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZUluRnJh
bWUoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBXZWJLaXQ6
OldlYlByb3RlY3Rpb25TcGFjZSopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdlYktp
dDo6V2ViRnJhbWVQcm94eSosIFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSop
ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25T
cGFjZUluRnJhbWUoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkq
LCBXZWJLaXQ6OldlYlByb3RlY3Rpb25TcGFjZSopIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUluRnJhbWUoV2ViS2l0
OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBXZWJLaXQ6OkF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlUHJveHkqKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydFBy
b2dyZXNzKFdlYktpdDo6V2ViUGFnZVByb3h5KikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaWRD
aGFuZ2VQcm9ncmVzcyhXZWJLaXQ6OldlYlBhZ2VQcm94eSopPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCBkaWRGaW5pc2hQcm9ncmVzcyhXZWJLaXQ6OldlYlBhZ2VQcm94eSopPSAwOworICAgIHZpcnR1
YWwgdm9pZCBkaWRTdGFydFByb2dyZXNzKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9CisgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZVByb2dyZXNzKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9
CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaFByb2dyZXNzKFdlYktpdDo6V2ViUGFnZVByb3h5
KikgeyB9CiAKICAgICAvLyBGSVhNRTogVGhlc2UgdGhyZWUgZnVuY3Rpb25zIHNob3VsZCBub3Qg
YmUgcGFydCBvZiB0aGlzIGNsaWVudC4KLSAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZEJlY29t
ZVVucmVzcG9uc2l2ZShXZWJLaXQ6OldlYlBhZ2VQcm94eSopID0gMDsKLSAgICB2aXJ0dWFsIHZv
aWQgaW50ZXJhY3Rpb25PY2N1cnJlZFdoaWxlUHJvY2Vzc1VucmVzcG9uc2l2ZShXZWJLaXQ6Oldl
YlBhZ2VQcm94eSopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZEJlY29tZVJlc3Bv
bnNpdmUoV2ViS2l0OjpXZWJQYWdlUHJveHkqKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHByb2Nl
c3NEaWRDcmFzaChXZWJLaXQ6OldlYlBhZ2VQcm94eSopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
cHJvY2Vzc0RpZEJlY29tZVVucmVzcG9uc2l2ZShXZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBpbnRlcmFjdGlvbk9jY3VycmVkV2hpbGVQcm9jZXNzVW5yZXNwb25z
aXZlKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9CisgICAgdmlydHVhbCB2b2lkIHByb2Nlc3NE
aWRCZWNvbWVSZXNwb25zaXZlKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9CisgICAgdmlydHVh
bCB2b2lkIHByb2Nlc3NEaWRDcmFzaChXZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgfQogCi0gICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdChXZWJLaXQ6OldlYlBhZ2VQcm94
eSosIFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0SXRlbSogYWRkZWRJdGVtLCBWZWN0b3I8UmVm
UHRyPEFQSTo6T2JqZWN0Pj4qIHJlbW92ZWRJdGVtcykgPSAwOwotICAgIHZpcnR1YWwgdm9pZCB3
aWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0oV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6
OldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qLCBBUEk6Ok9iamVjdCopID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2Vi
S2l0OjpXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBhZGRlZEl0ZW0sIFZlY3RvcjxSZWZQdHI8QVBJ
OjpPYmplY3Q+PiogcmVtb3ZlZEl0ZW1zKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgd2lsbEdvVG9C
YWNrRm9yd2FyZExpc3RJdGVtKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtKiwgQVBJOjpPYmplY3QqKSB7IH0KIAogI2lmIEVOQUJMRShORVRTQ0FQ
RV9QTFVHSU5fQVBJKQotICAgIHZpcnR1YWwgV2ViS2l0OjpQbHVnaW5Nb2R1bGVMb2FkUG9saWN5
IHBsdWdpbkxvYWRQb2xpY3koV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OlBsdWdpbk1v
ZHVsZUxvYWRQb2xpY3kgY3VycmVudFBsdWdpbkxvYWRQb2xpY3ksIFdlYktpdDo6SW1tdXRhYmxl
RGljdGlvbmFyeSosIFdURjo6U3RyaW5nJiB1bmF2YWlsYWJpbGl0eURlc2NyaXB0aW9uLCBXVEY6
OlN0cmluZyYgdXNlQmxvY2tlZFBsdWdpblRpdGxlKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRp
ZEZhaWxUb0luaXRpYWxpemVQbHVnaW4oV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6Oklt
bXV0YWJsZURpY3Rpb25hcnkqKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEJsb2NrSW5zZWN1
cmVQbHVnaW5WZXJzaW9uKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpJbW11dGFibGVE
aWN0aW9uYXJ5KikgPSAwOworICAgIHZpcnR1YWwgV2ViS2l0OjpQbHVnaW5Nb2R1bGVMb2FkUG9s
aWN5IHBsdWdpbkxvYWRQb2xpY3koV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OlBsdWdp
bk1vZHVsZUxvYWRQb2xpY3kgY3VycmVudFBsdWdpbkxvYWRQb2xpY3ksIFdlYktpdDo6SW1tdXRh
YmxlRGljdGlvbmFyeSosIFdURjo6U3RyaW5nJiB1bmF2YWlsYWJpbGl0eURlc2NyaXB0aW9uLCBX
VEY6OlN0cmluZyYgdXNlQmxvY2tlZFBsdWdpblRpdGxlKSB7IHJldHVybiBjdXJyZW50UGx1Z2lu
TG9hZFBvbGljeTsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsVG9Jbml0aWFsaXplUGx1Z2lu
KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpJbW11dGFibGVEaWN0aW9uYXJ5KikgeyB9
CisgICAgdmlydHVhbCB2b2lkIGRpZEJsb2NrSW5zZWN1cmVQbHVnaW5WZXJzaW9uKFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpJbW11dGFibGVEaWN0aW9uYXJ5KikgeyB9CiAjZW5kaWYg
Ly8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAKICNpZiBFTkFCTEUoV0VCR0wpCi0gICAg
dmlydHVhbCBXZWJDb3JlOjpXZWJHTExvYWRQb2xpY3kgd2ViR0xMb2FkUG9saWN5KFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCBXZWJDb3JlOjpXZWJHTExvYWRQb2xpY3kgd2ViR0xMb2FkUG9saWN5KFdlYktpdDo6V2ViUGFn
ZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmKSBjb25zdCB7IHJldHVybiBXZWJDb3JlOjpXZWJH
TExvYWRQb2xpY3k6OldlYkdMQWxsb3c7IH0KICNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDI5NmEyZGVj
M2RiODlmZmE4MmIyZjllMTg2ODYxYTUyZWJlNThmYmQuLmE5MTZkYTljNzM4MjZkMmI5OGJiMjg3
MTlhNjcyMGFiYjJjMTM2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCkBAIC00MDIsNiArNDAyLDExIEBAIFBhc3NSZWZQdHI8QVBJOjpBcnJheT4gV2ViUGFn
ZVByb3h5OjpyZWxhdGVkUGFnZXMoKSBjb25zdAogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0TG9h
ZGVyQ2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkxvYWRlckNsaWVudD4gbG9hZGVyQ2xpZW50
KQogeworICAgIGlmICghbG9hZGVyQ2xpZW50KSB7CisgICAgICAgIG1fbG9hZGVyQ2xpZW50ID0g
c3RkOjptYWtlX3VuaXF1ZTxBUEk6OkxvYWRlckNsaWVudD4oKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKwogICAgIG1fbG9hZGVyQ2xpZW50ID0gc3RkOjptb3ZlKGxvYWRlckNsaWVudCk7CiB9
CiAKQEAgLTgyMiw4ICs4MjcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dHJ5UmVzdG9yZVNjcm9s
bFBvc2l0aW9uKCkKIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZENoYW5nZUJhY2tGb3J3YXJkTGlz
dChXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBhZGRlZCwgVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVj
dD4+KiByZW1vdmVkKQogewotICAgIGlmIChtX2xvYWRlckNsaWVudCkKLSAgICAgICAgbV9sb2Fk
ZXJDbGllbnQtPmRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdCh0aGlzLCBhZGRlZCwgcmVtb3ZlZCk7
CisgICAgbV9sb2FkZXJDbGllbnQtPmRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdCh0aGlzLCBhZGRl
ZCwgcmVtb3ZlZCk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojp3aWxsR29Ub0JhY2tGb3J3YXJk
TGlzdEl0ZW0odWludDY0X3QgaXRlbUlELCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQpA
QCAtODMzLDEwICs4MzcsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6d2lsbEdvVG9CYWNrRm9yd2Fy
ZExpc3RJdGVtKHVpbnQ2NF90IGl0ZW1JRCwgSVBDOjpNZXNzYWdlRGVjbwogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUobWVzc2FnZURlY29kZXIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAo
V2ViQmFja0ZvcndhcmRMaXN0SXRlbSogaXRlbSA9IG1fcHJvY2Vzcy0+d2ViQmFja0ZvcndhcmRJ
dGVtKGl0ZW1JRCkpIHsKLSAgICAgICAgaWYgKG1fbG9hZGVyQ2xpZW50KQotICAgICAgICAgICAg
bV9sb2FkZXJDbGllbnQtPndpbGxHb1RvQmFja0ZvcndhcmRMaXN0SXRlbSh0aGlzLCBpdGVtLCB1
c2VyRGF0YS5nZXQoKSk7Ci0gICAgfQorICAgIGlmIChXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBp
dGVtID0gbV9wcm9jZXNzLT53ZWJCYWNrRm9yd2FyZEl0ZW0oaXRlbUlEKSkKKyAgICAgICAgbV9s
b2FkZXJDbGllbnQtPndpbGxHb1RvQmFja0ZvcndhcmRMaXN0SXRlbSh0aGlzLCBpdGVtLCB1c2Vy
RGF0YS5nZXQoKSk7CiB9CiAKIGJvb2wgV2ViUGFnZVByb3h5OjpjYW5TaG93TUlNRVR5cGUoY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSkKQEAgLTEzMzEsOCArMTMzMyw3IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpmaW5kUGx1Z2luKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IHByb2Nlc3NU
eXBlLCBjb25zCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgUmVmUHRyPEltbXV0YWJsZURpY3Rp
b25hcnk+IHBsdWdpbkluZm9ybWF0aW9uID0gY3JlYXRlUGx1Z2luSW5mb3JtYXRpb25EaWN0aW9u
YXJ5KHBsdWdpbiwgZnJhbWVVUkxTdHJpbmcsIFN0cmluZygpLCBwYWdlVVJMU3RyaW5nLCBTdHJp
bmcoKSwgU3RyaW5nKCkpOwotICAgIGlmIChtX2xvYWRlckNsaWVudCkKLSAgICAgICAgcGx1Z2lu
TG9hZFBvbGljeSA9IG1fbG9hZGVyQ2xpZW50LT5wbHVnaW5Mb2FkUG9saWN5KHRoaXMsIHN0YXRp
Y19jYXN0PFBsdWdpbk1vZHVsZUxvYWRQb2xpY3k+KHBsdWdpbkxvYWRQb2xpY3kpLCBwbHVnaW5J
bmZvcm1hdGlvbi5nZXQoKSwgdW5hdmFpbGFiaWxpdHlEZXNjcmlwdGlvbiwgdXNlQmxvY2tlZFBs
dWdpblRpdGxlKTsKKyAgICBwbHVnaW5Mb2FkUG9saWN5ID0gbV9sb2FkZXJDbGllbnQtPnBsdWdp
bkxvYWRQb2xpY3kodGhpcywgc3RhdGljX2Nhc3Q8UGx1Z2luTW9kdWxlTG9hZFBvbGljeT4ocGx1
Z2luTG9hZFBvbGljeSksIHBsdWdpbkluZm9ybWF0aW9uLmdldCgpLCB1bmF2YWlsYWJpbGl0eURl
c2NyaXB0aW9uLCB1c2VCbG9ja2VkUGx1Z2luVGl0bGUpOwogI2Vsc2UKICAgICBVTlVTRURfUEFS
QU0oZnJhbWVVUkxTdHJpbmcpOwogICAgIFVOVVNFRF9QQVJBTShwYWdlVVJMU3RyaW5nKTsKQEAg
LTIwNjgsOCArMjA2OSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRTdGFydFByb2dyZXNzKCkK
ICAgICBtX3BhZ2VMb2FkU3RhdGUuZGlkU3RhcnRQcm9ncmVzcyh0cmFuc2FjdGlvbik7CiAKICAg
ICBtX3BhZ2VMb2FkU3RhdGUuY29tbWl0Q2hhbmdlcygpOwotICAgIGlmIChtX2xvYWRlckNsaWVu
dCkKLSAgICAgICAgbV9sb2FkZXJDbGllbnQtPmRpZFN0YXJ0UHJvZ3Jlc3ModGhpcyk7CisgICAg
bV9sb2FkZXJDbGllbnQtPmRpZFN0YXJ0UHJvZ3Jlc3ModGhpcyk7CiB9CiAKIHZvaWQgV2ViUGFn
ZVByb3h5OjpkaWRDaGFuZ2VQcm9ncmVzcyhkb3VibGUgdmFsdWUpCkBAIC0yMDc4LDggKzIwNzgs
NyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlUHJvZ3Jlc3MoZG91YmxlIHZhbHVlKQog
ICAgIG1fcGFnZUxvYWRTdGF0ZS5kaWRDaGFuZ2VQcm9ncmVzcyh0cmFuc2FjdGlvbiwgdmFsdWUp
OwogCiAgICAgbV9wYWdlTG9hZFN0YXRlLmNvbW1pdENoYW5nZXMoKTsKLSAgICBpZiAobV9sb2Fk
ZXJDbGllbnQpCi0gICAgICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRDaGFuZ2VQcm9ncmVzcyh0aGlz
KTsKKyAgICBtX2xvYWRlckNsaWVudC0+ZGlkQ2hhbmdlUHJvZ3Jlc3ModGhpcyk7CiB9CiAKIHZv
aWQgV2ViUGFnZVByb3h5OjpkaWRGaW5pc2hQcm9ncmVzcygpCkBAIC0yMDg4LDggKzIwODcsNyBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluaXNoUHJvZ3Jlc3MoKQogICAgIG1fcGFnZUxvYWRT
dGF0ZS5kaWRGaW5pc2hQcm9ncmVzcyh0cmFuc2FjdGlvbik7CiAKICAgICBtX3BhZ2VMb2FkU3Rh
dGUuY29tbWl0Q2hhbmdlcygpOwotICAgIGlmIChtX2xvYWRlckNsaWVudCkKLSAgICAgICAgbV9s
b2FkZXJDbGllbnQtPmRpZEZpbmlzaFByb2dyZXNzKHRoaXMpOworICAgIG1fbG9hZGVyQ2xpZW50
LT5kaWRGaW5pc2hQcm9ncmVzcyh0aGlzKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZFN0
YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IFN0cmluZyYgdW5yZWFjaGFibGVVUkwsIElQQzo6TWVzc2FnZURlY29kZXIm
IGRlY29kZXIpCkBAIC0yMTE0LDggKzIxMTIsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkU3Rh
cnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbgog
ICAgIGZyYW1lLT5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZCh1cmwpOwogCiAgICAgbV9wYWdlTG9h
ZFN0YXRlLmNvbW1pdENoYW5nZXMoKTsKLSAgICBpZiAobV9sb2FkZXJDbGllbnQpCi0gICAgICAg
IG1fbG9hZGVyQ2xpZW50LT5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHRoaXMsIGZy
YW1lLCB1c2VyRGF0YS5nZXQoKSk7CisgICAgbV9sb2FkZXJDbGllbnQtPmRpZFN0YXJ0UHJvdmlz
aW9uYWxMb2FkRm9yRnJhbWUodGhpcywgZnJhbWUsIHVzZXJEYXRhLmdldCgpKTsKIH0KIAogdm9p
ZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdXJsLCBJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJiBkZWNvZGVyKQpAQCAtMjEzNyw4ICsyMTM0LDcgQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OmRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVp
bnQ2NF90IGYKICAgICBmcmFtZS0+ZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9u
YWxMb2FkKHVybCk7CiAKICAgICBtX3BhZ2VMb2FkU3RhdGUuY29tbWl0Q2hhbmdlcygpOwotICAg
IGlmIChtX2xvYWRlckNsaWVudCkKLSAgICAgICAgbV9sb2FkZXJDbGllbnQtPmRpZFJlY2VpdmVT
ZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHRoaXMsIGZyYW1lLCB1c2Vy
RGF0YS5nZXQoKSk7CisgICAgbV9sb2FkZXJDbGllbnQtPmRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVj
dEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHRoaXMsIGZyYW1lLCB1c2VyRGF0YS5nZXQoKSk7
CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IsIElQQzo6TWVzc2Fn
ZURlY29kZXImIGRlY29kZXIpCkBAIC0yMTU5LDggKzIxNTUsNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0
IFJlc291cgogICAgIGZyYW1lLT5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7CiAKICAgICBtX3Bh
Z2VMb2FkU3RhdGUuY29tbWl0Q2hhbmdlcygpOwotICAgIGlmIChtX2xvYWRlckNsaWVudCkKLSAg
ICAgICAgbV9sb2FkZXJDbGllbnQtPmRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JG
cmFtZSh0aGlzLCBmcmFtZSwgZXJyb3IsIHVzZXJEYXRhLmdldCgpKTsKKyAgICBtX2xvYWRlckNs
aWVudC0+ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lKHRoaXMsIGZyYW1l
LCBlcnJvciwgdXNlckRhdGEuZ2V0KCkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xlYXJM
b2FkRGVwZW5kZW50Q2FsbGJhY2tzKCkKQEAgLTIyMTMsOCArMjIwOCw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3Ry
aW5nJiBtaW1lVHlwCiAgICAgICAgIG1fcGFnZVNjYWxlRmFjdG9yID0gMTsKIAogICAgIG1fcGFn
ZUxvYWRTdGF0ZS5jb21taXRDaGFuZ2VzKCk7Ci0gICAgaWYgKG1fbG9hZGVyQ2xpZW50KQotICAg
ICAgICBtX2xvYWRlckNsaWVudC0+ZGlkQ29tbWl0TG9hZEZvckZyYW1lKHRoaXMsIGZyYW1lLCB1
c2VyRGF0YS5nZXQoKSk7CisgICAgbV9sb2FkZXJDbGllbnQtPmRpZENvbW1pdExvYWRGb3JGcmFt
ZSh0aGlzLCBmcmFtZSwgdXNlckRhdGEuZ2V0KCkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6
ZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgSVBDOjpNZXNz
YWdlRGVjb2RlciYgZGVjb2RlcikKQEAgLTIyMjcsOCArMjIyMSw3IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBJUEM6
Ok1lc3NhZ2VECiAgICAgV2ViRnJhbWVQcm94eSogZnJhbWUgPSBtX3Byb2Nlc3MtPndlYkZyYW1l
KGZyYW1lSUQpOwogICAgIE1FU1NBR0VfQ0hFQ0soZnJhbWUpOwogCi0gICAgaWYgKG1fbG9hZGVy
Q2xpZW50KQotICAgICAgICBtX2xvYWRlckNsaWVudC0+ZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9y
RnJhbWUodGhpcywgZnJhbWUsIHVzZXJEYXRhLmdldCgpKTsKKyAgICBtX2xvYWRlckNsaWVudC0+
ZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodGhpcywgZnJhbWUsIHVzZXJEYXRhLmdldCgp
KTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmlzaExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQpAQCAtMjI0OSw4ICsyMjQy
LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmlzaExvYWRGb3JGcmFtZSh1aW50NjRfdCBm
cmFtZUlELCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJgogICAgIGZyYW1lLT5kaWRGaW5pc2hMb2FkKCk7
CiAKICAgICBtX3BhZ2VMb2FkU3RhdGUuY29tbWl0Q2hhbmdlcygpOwotICAgIGlmIChtX2xvYWRl
ckNsaWVudCkKLSAgICAgICAgbV9sb2FkZXJDbGllbnQtPmRpZEZpbmlzaExvYWRGb3JGcmFtZSh0
aGlzLCBmcmFtZSwgdXNlckRhdGEuZ2V0KCkpOworICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRGaW5p
c2hMb2FkRm9yRnJhbWUodGhpcywgZnJhbWUsIHVzZXJEYXRhLmdldCgpKTsKIH0KIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3Qg
UmVzb3VyY2VFcnJvciYgZXJyb3IsIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCkBAIC0y
MjczLDggKzIyNjUsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmFpbExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcgogICAgIGZyYW1lLT5kaWRG
YWlsTG9hZCgpOwogCiAgICAgbV9wYWdlTG9hZFN0YXRlLmNvbW1pdENoYW5nZXMoKTsKLSAgICBp
ZiAobV9sb2FkZXJDbGllbnQpCi0gICAgICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRGYWlsTG9hZFdp
dGhFcnJvckZvckZyYW1lKHRoaXMsIGZyYW1lLCBlcnJvciwgdXNlckRhdGEuZ2V0KCkpOworICAg
IG1fbG9hZGVyQ2xpZW50LT5kaWRGYWlsTG9hZFdpdGhFcnJvckZvckZyYW1lKHRoaXMsIGZyYW1l
LCBlcnJvciwgdXNlckRhdGEuZ2V0KCkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkU2Ft
ZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQzMl90IG9w
YXF1ZVNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlLCBjb25zdCBTdHJpbmcmIHVybCwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKQEAgLTIyOTcsOCArMjI4OCw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUodWludDY0X3QgZnJhbWVJ
RCwgdWludDMyX3QKICAgICBmcmFtZS0+ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbih1cmwpOwog
CiAgICAgbV9wYWdlTG9hZFN0YXRlLmNvbW1pdENoYW5nZXMoKTsKLSAgICBpZiAobV9sb2FkZXJD
bGllbnQpCi0gICAgICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9u
Rm9yRnJhbWUodGhpcywgZnJhbWUsIHN0YXRpY19jYXN0PFNhbWVEb2N1bWVudE5hdmlnYXRpb25U
eXBlPihvcGFxdWVTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSksIHVzZXJEYXRhLmdldCgpKTsK
KyAgICBtX2xvYWRlckNsaWVudC0+ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKHRo
aXMsIGZyYW1lLCBzdGF0aWNfY2FzdDxTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZT4ob3BhcXVl
U2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpLCB1c2VyRGF0YS5nZXQoKSk7CiB9CiAKIHZvaWQg
V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBj
b25zdCBTdHJpbmcmIHRpdGxlLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQpAQCAtMjMx
OSw4ICsyMzA5LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVUaXRsZUZvckZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdGl0bGUKICAgICBmcmFtZS0+ZGlkQ2hh
bmdlVGl0bGUodGl0bGUpOwogICAgIAogICAgIG1fcGFnZUxvYWRTdGF0ZS5jb21taXRDaGFuZ2Vz
KCk7Ci0gICAgaWYgKG1fbG9hZGVyQ2xpZW50KQotICAgICAgICBtX2xvYWRlckNsaWVudC0+ZGlk
UmVjZWl2ZVRpdGxlRm9yRnJhbWUodGhpcywgdGl0bGUsIGZyYW1lLCB1c2VyRGF0YS5nZXQoKSk7
CisgICAgbV9sb2FkZXJDbGllbnQtPmRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKHRoaXMsIHRpdGxl
LCBmcmFtZSwgdXNlckRhdGEuZ2V0KCkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmly
c3RMYXlvdXRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBk
ZWNvZGVyKQpAQCAtMjMzMyw4ICsyMzIyLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpcnN0
TGF5b3V0Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgSVBDOjpNZXNzYWdlRGVjb2RlciYKICAg
ICBXZWJGcmFtZVByb3h5KiBmcmFtZSA9IG1fcHJvY2Vzcy0+d2ViRnJhbWUoZnJhbWVJRCk7CiAg
ICAgTUVTU0FHRV9DSEVDSyhmcmFtZSk7CiAKLSAgICBpZiAobV9sb2FkZXJDbGllbnQpCi0gICAg
ICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRGaXJzdExheW91dEZvckZyYW1lKHRoaXMsIGZyYW1lLCB1
c2VyRGF0YS5nZXQoKSk7CisgICAgbV9sb2FkZXJDbGllbnQtPmRpZEZpcnN0TGF5b3V0Rm9yRnJh
bWUodGhpcywgZnJhbWUsIHVzZXJEYXRhLmdldCgpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6
OmRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCkBAIC0yMzQ3LDggKzIzMzUsNyBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6ZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgSVBDOgogICAgIFdlYkZyYW1lUHJveHkqIGZyYW1lID0gbV9wcm9jZXNz
LT53ZWJGcmFtZShmcmFtZUlEKTsKICAgICBNRVNTQUdFX0NIRUNLKGZyYW1lKTsKIAotICAgIGlm
IChtX2xvYWRlckNsaWVudCkKLSAgICAgICAgbV9sb2FkZXJDbGllbnQtPmRpZEZpcnN0VmlzdWFs
bHlOb25FbXB0eUxheW91dEZvckZyYW1lKHRoaXMsIGZyYW1lLCB1c2VyRGF0YS5nZXQoKSk7Cisg
ICAgbV9sb2FkZXJDbGllbnQtPmRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1l
KHRoaXMsIGZyYW1lLCB1c2VyRGF0YS5nZXQoKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpk
aWRMYXlvdXQodWludDMyX3QgbGF5b3V0TWlsZXN0b25lcywgSVBDOjpNZXNzYWdlRGVjb2RlciYg
ZGVjb2RlcikKQEAgLTIzNTgsOCArMjM0NSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRMYXlv
dXQodWludDMyX3QgbGF5b3V0TWlsZXN0b25lcywgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjCiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShtZXNzYWdlRGVjb2RlcikpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGlmIChtX2xvYWRlckNsaWVudCkKLSAgICAgICAgbV9sb2FkZXJDbGllbnQtPmRpZExh
eW91dCh0aGlzLCBzdGF0aWNfY2FzdDxMYXlvdXRNaWxlc3RvbmVzPihsYXlvdXRNaWxlc3RvbmVz
KSwgdXNlckRhdGEuZ2V0KCkpOworICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRMYXlvdXQodGhpcywg
c3RhdGljX2Nhc3Q8TGF5b3V0TWlsZXN0b25lcz4obGF5b3V0TWlsZXN0b25lcyksIHVzZXJEYXRh
LmdldCgpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlbW92ZUZyYW1lRnJvbUhpZXJh
cmNoeSh1aW50NjRfdCBmcmFtZUlELCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQpAQCAt
MjM3Miw4ICsyMzU4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlbW92ZUZyYW1lRnJvbUhp
ZXJhcmNoeSh1aW50NjRfdCBmcmFtZUlELCBJUEM6Ok1lc3NhZ2VEZWMKICAgICBXZWJGcmFtZVBy
b3h5KiBmcmFtZSA9IG1fcHJvY2Vzcy0+d2ViRnJhbWUoZnJhbWVJRCk7CiAgICAgTUVTU0FHRV9D
SEVDSyhmcmFtZSk7CiAKLSAgICBpZiAobV9sb2FkZXJDbGllbnQpCi0gICAgICAgIG1fbG9hZGVy
Q2xpZW50LT5kaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkodGhpcywgZnJhbWUsIHVzZXJEYXRh
LmdldCgpKTsKKyAgICBtX2xvYWRlckNsaWVudC0+ZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5
KHRoaXMsIGZyYW1lLCB1c2VyRGF0YS5nZXQoKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpk
aWREaXNwbGF5SW5zZWN1cmVDb250ZW50Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKQEAgLTIzOTAsOCArMjM3NSw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpkaWREaXNwbGF5SW5zZWN1cmVDb250ZW50Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJ
RCwgSVBDOjpNZXNzCiAgICAgbV9wYWdlTG9hZFN0YXRlLmRpZERpc3BsYXlPclJ1bkluc2VjdXJl
Q29udGVudCh0cmFuc2FjdGlvbik7CiAKICAgICBtX3BhZ2VMb2FkU3RhdGUuY29tbWl0Q2hhbmdl
cygpOwotICAgIGlmIChtX2xvYWRlckNsaWVudCkKLSAgICAgICAgbV9sb2FkZXJDbGllbnQtPmRp
ZERpc3BsYXlJbnNlY3VyZUNvbnRlbnRGb3JGcmFtZSh0aGlzLCBmcmFtZSwgdXNlckRhdGEuZ2V0
KCkpOworICAgIG1fbG9hZGVyQ2xpZW50LT5kaWREaXNwbGF5SW5zZWN1cmVDb250ZW50Rm9yRnJh
bWUodGhpcywgZnJhbWUsIHVzZXJEYXRhLmdldCgpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6
OmRpZFJ1bkluc2VjdXJlQ29udGVudEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIElQQzo6TWVz
c2FnZURlY29kZXImIGRlY29kZXIpCkBAIC0yNDA4LDggKzIzOTIsNyBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6ZGlkUnVuSW5zZWN1cmVDb250ZW50Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgSVBD
OjpNZXNzYWdlRAogICAgIG1fcGFnZUxvYWRTdGF0ZS5kaWREaXNwbGF5T3JSdW5JbnNlY3VyZUNv
bnRlbnQodHJhbnNhY3Rpb24pOwogCiAgICAgbV9wYWdlTG9hZFN0YXRlLmNvbW1pdENoYW5nZXMo
KTsKLSAgICBpZiAobV9sb2FkZXJDbGllbnQpCi0gICAgICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRS
dW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZSh0aGlzLCBmcmFtZSwgdXNlckRhdGEuZ2V0KCkpOwor
ICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRSdW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZSh0aGlzLCBm
cmFtZSwgdXNlckRhdGEuZ2V0KCkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRGV0ZWN0
WFNTRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2Rl
cikKQEAgLTI0MjIsOCArMjQwNSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWREZXRlY3RYU1NG
b3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkCiAgICAgV2Vi
RnJhbWVQcm94eSogZnJhbWUgPSBtX3Byb2Nlc3MtPndlYkZyYW1lKGZyYW1lSUQpOwogICAgIE1F
U1NBR0VfQ0hFQ0soZnJhbWUpOwogCi0gICAgaWYgKG1fbG9hZGVyQ2xpZW50KQotICAgICAgICBt
X2xvYWRlckNsaWVudC0+ZGlkRGV0ZWN0WFNTRm9yRnJhbWUodGhpcywgZnJhbWUsIHVzZXJEYXRh
LmdldCgpKTsKKyAgICBtX2xvYWRlckNsaWVudC0+ZGlkRGV0ZWN0WFNTRm9yRnJhbWUodGhpcywg
ZnJhbWUsIHVzZXJEYXRhLmdldCgpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmZyYW1lRGlk
QmVjb21lRnJhbWVTZXQodWludDY0X3QgZnJhbWVJRCwgYm9vbCB2YWx1ZSkKQEAgLTI3MDQsMTAg
KzI2ODYsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlj
a2VkKHVpbnQzMl90IG9wYXF1ZVBsdWdpblVuYXZhaWxhYgogI2lmIEVOQUJMRShXRUJHTCkKIHZv
aWQgV2ViUGFnZVByb3h5Ojp3ZWJHTFBvbGljeUZvclVSTChjb25zdCBTdHJpbmcmIHVybCwgdWlu
dDMyX3QmIGxvYWRQb2xpY3kpCiB7Ci0gICAgaWYgKCFtX2xvYWRlckNsaWVudCkKLSAgICAgICAg
bG9hZFBvbGljeSA9IFdlYkdMQWxsb3c7Ci0gICAgZWxzZQotICAgICAgICBsb2FkUG9saWN5ID0g
c3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1fbG9hZGVyQ2xpZW50LT53ZWJHTExvYWRQb2xpY3kodGhp
cywgdXJsKSk7CisgICAgbG9hZFBvbGljeSA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihtX2xvYWRl
ckNsaWVudC0+d2ViR0xMb2FkUG9saWN5KHRoaXMsIHVybCkpOwogfQogI2VuZGlmIC8vIEVOQUJM
RShXRUJHTCkKIApAQCAtMzczNyw4ICszNzE2LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnByb2Nl
c3NEaWRCZWNvbWVVbnJlc3BvbnNpdmUoKQogCiAgICAgdXBkYXRlQmFja2luZ1N0b3JlRGlzY2Fy
ZGFibGVTdGF0ZSgpOwogCi0gICAgaWYgKG1fbG9hZGVyQ2xpZW50KQotICAgICAgICBtX2xvYWRl
ckNsaWVudC0+cHJvY2Vzc0RpZEJlY29tZVVucmVzcG9uc2l2ZSh0aGlzKTsKKyAgICBtX2xvYWRl
ckNsaWVudC0+cHJvY2Vzc0RpZEJlY29tZVVucmVzcG9uc2l2ZSh0aGlzKTsKIH0KIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmludGVyYWN0aW9uT2NjdXJyZWRXaGlsZVByb2Nlc3NVbnJlc3BvbnNpdmUo
KQpAQCAtMzc0Niw4ICszNzI0LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmludGVyYWN0aW9uT2Nj
dXJyZWRXaGlsZVByb2Nlc3NVbnJlc3BvbnNpdmUoKQogICAgIGlmICghaXNWYWxpZCgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBpZiAobV9sb2FkZXJDbGllbnQpCi0gICAgICAgIG1fbG9hZGVy
Q2xpZW50LT5pbnRlcmFjdGlvbk9jY3VycmVkV2hpbGVQcm9jZXNzVW5yZXNwb25zaXZlKHRoaXMp
OworICAgIG1fbG9hZGVyQ2xpZW50LT5pbnRlcmFjdGlvbk9jY3VycmVkV2hpbGVQcm9jZXNzVW5y
ZXNwb25zaXZlKHRoaXMpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZEJlY29t
ZVJlc3BvbnNpdmUoKQpAQCAtMzc1Nyw4ICszNzM0LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnBy
b2Nlc3NEaWRCZWNvbWVSZXNwb25zaXZlKCkKICAgICAKICAgICB1cGRhdGVCYWNraW5nU3RvcmVE
aXNjYXJkYWJsZVN0YXRlKCk7CiAKLSAgICBpZiAobV9sb2FkZXJDbGllbnQpCi0gICAgICAgIG1f
bG9hZGVyQ2xpZW50LT5wcm9jZXNzRGlkQmVjb21lUmVzcG9uc2l2ZSh0aGlzKTsKKyAgICBtX2xv
YWRlckNsaWVudC0+cHJvY2Vzc0RpZEJlY29tZVJlc3BvbnNpdmUodGhpcyk7CiB9CiAKIHZvaWQg
V2ViUGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2goKQpAQCAtMzc3Myw4ICszNzQ5LDcgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OnByb2Nlc3NEaWRDcmFzaCgpCiAKICAgICBtX3BhZ2VDbGllbnQucHJv
Y2Vzc0RpZENyYXNoKCk7CiAKLSAgICBpZiAobV9sb2FkZXJDbGllbnQpCi0gICAgICAgIG1fbG9h
ZGVyQ2xpZW50LT5wcm9jZXNzRGlkQ3Jhc2godGhpcyk7CisgICAgbV9sb2FkZXJDbGllbnQtPnBy
b2Nlc3NEaWRDcmFzaCh0aGlzKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGUo
KQpAQCAtMzk3MywxMCArMzk0OCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjYW5BdXRoZW50aWNh
dGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlSW5GcmFtZSh1aW50NjRfdCBmcmFtZUlECiAKICAgICBS
ZWZQdHI8V2ViUHJvdGVjdGlvblNwYWNlPiBwcm90ZWN0aW9uU3BhY2UgPSBXZWJQcm90ZWN0aW9u
U3BhY2U6OmNyZWF0ZShjb3JlUHJvdGVjdGlvblNwYWNlKTsKIAotICAgIGlmICghbV9sb2FkZXJD
bGllbnQpCi0gICAgICAgIGNhbkF1dGhlbnRpY2F0ZSA9IGZhbHNlOwotICAgIGVsc2UKLSAgICAg
ICAgY2FuQXV0aGVudGljYXRlID0gbV9sb2FkZXJDbGllbnQtPmNhbkF1dGhlbnRpY2F0ZUFnYWlu
c3RQcm90ZWN0aW9uU3BhY2VJbkZyYW1lKHRoaXMsIGZyYW1lLCBwcm90ZWN0aW9uU3BhY2UuZ2V0
KCkpOworICAgIGNhbkF1dGhlbnRpY2F0ZSA9IG1fbG9hZGVyQ2xpZW50LT5jYW5BdXRoZW50aWNh
dGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlSW5GcmFtZSh0aGlzLCBmcmFtZSwgcHJvdGVjdGlvblNw
YWNlLmdldCgpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSYgY29yZUNoYWxsZW5nZSwgdWludDY0X3QgY2hhbGxlbmdlSUQpCkBAIC0zOTkyLDggKzM5
NjQsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlUHJveHkodWludDY0X3QgZnJhbWVJRCwgUGFzcwogICAgIE1FU1NBR0VfQ0hFQ0soZnJhbWUp
OwogCiAgICAgUmVmUHRyPEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk+IGF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlID0gcHJwQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7Ci0gICAgaWYgKG1fbG9h
ZGVyQ2xpZW50KQotICAgICAgICBtX2xvYWRlckNsaWVudC0+ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlSW5GcmFtZSh0aGlzLCBmcmFtZSwgYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uu
Z2V0KCkpOworICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VJbkZyYW1lKHRoaXMsIGZyYW1lLCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5nZXQoKSk7
CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpleGNlZWRlZERhdGFiYXNlUXVvdGEodWludDY0X3Qg
ZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRh
dGFiYXNlTmFtZSwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdWludDY0X3QgY3VycmVudFF1
b3RhLCB1aW50NjRfdCBjdXJyZW50T3JpZ2luVXNhZ2UsIHVpbnQ2NF90IGN1cnJlbnREYXRhYmFz
ZVVzYWdlLCB1aW50NjRfdCBleHBlY3RlZFVzYWdlLCBQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkV4Y2VlZGVkRGF0YWJhc2VRdW90YTo6RGVsYXllZFJlcGx5PiByZXBseSkKQEAg
LTQxNTEsOCArNDEyMiw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VQYWdlQ291bnQo
dW5zaWduZWQgcGFnZUNvdW50KQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogdm9p
ZCBXZWJQYWdlUHJveHk6OmRpZEZhaWxUb0luaXRpYWxpemVQbHVnaW4oY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSwgY29uc3QgU3RyaW5nJiBmcmFtZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiBwYWdl
VVJMU3RyaW5nKQogewotICAgIGlmIChtX2xvYWRlckNsaWVudCkKLSAgICAgICAgbV9sb2FkZXJD
bGllbnQtPmRpZEZhaWxUb0luaXRpYWxpemVQbHVnaW4odGhpcywgY3JlYXRlUGx1Z2luSW5mb3Jt
YXRpb25EaWN0aW9uYXJ5KG1pbWVUeXBlLCBmcmFtZVVSTFN0cmluZywgcGFnZVVSTFN0cmluZyku
Z2V0KCkpOworICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRGYWlsVG9Jbml0aWFsaXplUGx1Z2luKHRo
aXMsIGNyZWF0ZVBsdWdpbkluZm9ybWF0aW9uRGljdGlvbmFyeShtaW1lVHlwZSwgZnJhbWVVUkxT
dHJpbmcsIHBhZ2VVUkxTdHJpbmcpLmdldCgpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmRp
ZEJsb2NrSW5zZWN1cmVQbHVnaW5WZXJzaW9uKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0
IFN0cmluZyYgcGx1Z2luVVJMU3RyaW5nLCBjb25zdCBTdHJpbmcmIGZyYW1lVVJMU3RyaW5nLCBj
b25zdCBTdHJpbmcmIHBhZ2VVUkxTdHJpbmcsIGJvb2wgcmVwbGFjZW1lbnRPYnNjdXJlZCkKQEAg
LTQxNzEsOCArNDE0MSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRCbG9ja0luc2VjdXJlUGx1
Z2luVmVyc2lvbihjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTCiAgICAgVU5VU0VEX1BB
UkFNKHJlcGxhY2VtZW50T2JzY3VyZWQpOwogI2VuZGlmCiAKLSAgICBpZiAobV9sb2FkZXJDbGll
bnQpCi0gICAgICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRCbG9ja0luc2VjdXJlUGx1Z2luVmVyc2lv
bih0aGlzLCBwbHVnaW5JbmZvcm1hdGlvbi5nZXQoKSk7CisgICAgbV9sb2FkZXJDbGllbnQtPmRp
ZEJsb2NrSW5zZWN1cmVQbHVnaW5WZXJzaW9uKHRoaXMsIHBsdWdpbkluZm9ybWF0aW9uLmdldCgp
KTsKIH0KICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIAo=
</data>
<flag name="review"
          id="246032"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>