<?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>105814</bug_id>
          
          <creation_ts>2012-12-27 20:22:40 -0800</creation_ts>
          <short_desc>Make CustomProtocolManager a WebProcessSupplement</short_desc>
          <delta_ts>2012-12-28 06:27:05 -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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>797737</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-27 20:22:40 -0800</bug_when>
    <thetext>Make CustomProtocolManager a WebProcessSupplement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797739</commentid>
    <comment_count>1</comment_count>
      <attachid>180839</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-27 20:25:37 -0800</bug_when>
    <thetext>Created attachment 180839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797873</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-28 06:27:05 -0800</bug_when>
    <thetext>Committed r138533: &lt;http://trac.webkit.org/changeset/138533&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180839</attachid>
            <date>2012-12-27 20:25:37 -0800</date>
            <delta_ts>2012-12-27 22:01:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105814-20121227232250.patch</filename>
            <type>text/plain</type>
            <size>18270</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODUyMSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTEyLTI3ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBDdXN0b21Qcm90b2NvbE1hbmFn
ZXIgYSBXZWJQcm9jZXNzU3VwcGxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA1ODE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBjb252ZXJ0cyBDdXN0b21Qcm90b2NvbE1hbmFnZXIgZnJv
bSBhIGdsb2JhbCBzaW5nbGV0b24sIHRvIGJlIGEKKyAgICAgICAgc3VwcGxlbWVudCBvZiB0aGUg
V2ViUHJvY2Vzcy4gU2luY2UgaXQgYWxzbyBuZWVkcyB0byBhY3QgYXMgYSBzdXBwbGVtZW50Cisg
ICAgICAgIG9mIHRoZSBOZXR3b3JrUHJvY2VzcywgaXQgYWRkcyBhbiBpbml0aWFsaXphdGlvbiBm
dW5jdGlvbiBmb3IgdGhlIE5ldHdvcmtQcm9jZXNzCisgICAgICAgIGFzIHdlbGwsIHdoaWxlIHdl
IGF3YWl0IHRoZSBhcnJpdmFsIG9mIHRoZSBmb3J0aGNvbWluZyBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnQuCisgICAgICAgIAorICAgICAgICBJbiBhZGRpdGlvbiwgdGhpcyBtb3ZlcyB0aGUgaGFu
ZGxpbmcgb2YgcmVnaXN0ZXJpbmcgYW5kIHVucmVnaXN0ZXJpbmcgc2NoZW1lcworICAgICAgICBk
aXJlY3RseSB0byB0aGUgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyLCBpbnN0ZWFkIG9mIHJlcXVpcmlu
ZyBhbiB1bm5lY2Vzc2FyeSB0cmlwCisgICAgICAgIGluIHRoZSBDaGlsZFByb2Nlc3MuCisKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtQcm9jZXNzOjppbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL05ldHdvcmsvQ3VzdG9t
UHJvdG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdlci5oOgorICAgICAgICAoQ3VzdG9tUHJvdG9j
b2xNYW5hZ2VyKToKKyAgICAgICAgKiBTaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvQ3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJlZC9OZXR3b3Jr
L0N1c3RvbVByb3RvY29scy9tYWMvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyTWFjLm1tOgorICAgICAg
ICAoK1tXS0N1c3RvbVByb3RvY29sIGNhbkluaXRXaXRoUmVxdWVzdDpdKToKKyAgICAgICAgKC1b
V0tDdXN0b21Qcm90b2NvbCBpbml0V2l0aFJlcXVlc3Q6Y2FjaGVkUmVzcG9uc2U6Y2xpZW50Ol0p
OgorICAgICAgICAoLVtXS0N1c3RvbVByb3RvY29sIHN0YXJ0TG9hZGluZ10pOgorICAgICAgICAo
LVtXS0N1c3RvbVByb3RvY29sIHN0b3BMb2FkaW5nXSk6CisgICAgICAgIChXZWJLaXQ6OkN1c3Rv
bVByb3RvY29sTWFuYWdlcjo6c3VwcGxlbWVudE5hbWUpOgorICAgICAgICAoV2ViS2l0OjpDdXN0
b21Qcm90b2NvbE1hbmFnZXI6OkN1c3RvbVByb3RvY29sTWFuYWdlcik6CisgICAgICAgIChXZWJL
aXQ6OkN1c3RvbVByb3RvY29sTWFuYWdlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpyZWdpc3Rl
clNjaGVtZUZvckN1c3RvbVByb3RvY29sKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6
dW5yZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29sKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNz
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKwogMjAxMi0xMi0yNyAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgogCiAgICAgICAgIENvbnZlcnQgYSBmZXcgb3RoZXIgV2ViUHJvY2VzcyBtYW5h
Z2VycyB0byBiZSBXZWJQcm9jZXNzU3VwcGxlbWVudHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDEzODUxOSkK
KysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTgsMTAgKzU4LDggQEAgTmV0d29ya1Byb2Nlc3M6Ok5ldHdvcmtQcm9j
ZXNzKCkKICAgICAsIG1fY2FjaGVNb2RlbChDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIpCiAgICAg
LCBtX2Rvd25sb2Fkc0F1dGhlbnRpY2F0aW9uTWFuYWdlcihuZXcgQXV0aGVudGljYXRpb25NYW5h
Z2VyKHRoaXMpKQogICAgICwgbV9jb29raWVNYW5hZ2VyKG5ldyBXZWJDb29raWVNYW5hZ2VyKHRo
aXMpKQorICAgICwgbV9jdXN0b21Qcm90b2NvbE1hbmFnZXIobmV3IEN1c3RvbVByb3RvY29sTWFu
YWdlcih0aGlzKSkKIHsKLSNpZiBFTkFCTEUoQ1VTVE9NX1BST1RPQ09MUykKLSAgICBDdXN0b21Q
cm90b2NvbE1hbmFnZXI6OnNoYXJlZCgpLmluaXRpYWxpemUodGhpcyk7Ci0jZW5kaWYKIH0KIAog
TmV0d29ya1Byb2Nlc3M6On5OZXR3b3JrUHJvY2VzcygpCkBAIC0xNTksMTEgKzE1Nyw3IEBAIHZv
aWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHIKICAgICBpZiAocGFyYW1ldGVy
cy5wcml2YXRlQnJvd3NpbmdFbmFibGVkKQogICAgICAgICBSZW1vdGVOZXR3b3JraW5nQ29udGV4
dDo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpOwogCi0jaWYgRU5BQkxFKENVU1RPTV9Q
Uk9UT0NPTFMpCi0gICAgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjpzaGFyZWQoKS5jb25uZWN0aW9u
RXN0YWJsaXNoZWQoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFtZXRlcnMudXJs
U2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90b2NvbHMuc2l6ZSgpOyArK2kpCi0gICAgICAg
IEN1c3RvbVByb3RvY29sTWFuYWdlcjo6c2hhcmVkKCkucmVnaXN0ZXJTY2hlbWUocGFyYW1ldGVy
cy51cmxTY2hlbWVzUmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29sc1tpXSk7Ci0jZW5kaWYKKyAg
ICBtX2N1c3RvbVByb3RvY29sTWFuYWdlci0+aW5pdGlhbGl6ZShwYXJhbWV0ZXJzKTsKIH0KIAog
dm9pZCBOZXR3b3JrUHJvY2Vzczo6Y3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mo
KQpAQCAtMjA0LDE4ICsxOTgsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpjYW5jZWxEb3dubG9h
ZCh1aW50CiAgICAgZG93bmxvYWRNYW5hZ2VyKCkuY2FuY2VsRG93bmxvYWQoZG93bmxvYWRJRCk7
CiB9CiAKLSNpZiBFTkFCTEUoQ1VTVE9NX1BST1RPQ09MUykKLXZvaWQgTmV0d29ya1Byb2Nlc3M6
OnJlZ2lzdGVyU2NoZW1lRm9yQ3VzdG9tUHJvdG9jb2woY29uc3QgU3RyaW5nJiBzY2hlbWUpCi17
Ci0gICAgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjpzaGFyZWQoKS5yZWdpc3RlclNjaGVtZShzY2hl
bWUpOwotfQotCi12b2lkIE5ldHdvcmtQcm9jZXNzOjp1bnJlZ2lzdGVyU2NoZW1lRm9yQ3VzdG9t
UHJvdG9jb2woY29uc3QgU3RyaW5nJiBzY2hlbWUpCi17Ci0gICAgQ3VzdG9tUHJvdG9jb2xNYW5h
Z2VyOjpzaGFyZWQoKS51bnJlZ2lzdGVyU2NoZW1lKHNjaGVtZSk7Ci19Ci0jZW5kaWYKLQogdm9p
ZCBOZXR3b3JrUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjbSkKIHsKICAgICBDYWNo
ZU1vZGVsIGNhY2hlTW9kZWwgPSBzdGF0aWNfY2FzdDxDYWNoZU1vZGVsPihjbSk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgJKHJldmlz
aW9uIDEzODUxOSkKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKK2Ns
YXNzIEN1c3RvbVByb3RvY29sTWFuYWdlcjsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOwogY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJDb29raWVN
YW5hZ2VyOwpAQCAtOTIsMTAgKzkzLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRvd25sb2FkUmVx
dWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
KTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25sb2FkSUQpOwogICAgIHZv
aWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0jaWYgRU5BQkxFKENVU1RPTV9QUk9UT0NPTFMp
Ci0gICAgdm9pZCByZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29sKGNvbnN0IFN0cmluZyYp
OwotICAgIHZvaWQgdW5yZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29sKGNvbnN0IFN0cmlu
ZyYpOwotI2VuZGlmCiAKICAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9y
SG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7
CiAKQEAgLTExNiw2ICsxMTMsNyBAQCBwcml2YXRlOgogCiAgICAgQXV0aGVudGljYXRpb25NYW5h
Z2VyKiBtX2Rvd25sb2Fkc0F1dGhlbnRpY2F0aW9uTWFuYWdlcjsKICAgICBXZWJDb29raWVNYW5h
Z2VyKiBtX2Nvb2tpZU1hbmFnZXI7CisgICAgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyKiBtX2N1c3Rv
bVByb3RvY29sTWFuYWdlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
bWVzc2FnZXMuaW4JKHJldmlzaW9uIDEzODUxOSkKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwx
MSArMzksNiBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyB7CiAgICAgU2V0QXBwbGljYXRp
b25Jc09jY2x1ZGVkKGJvb2wgZmxhZykKICNlbmRpZgogCi0jaWYgRU5BQkxFKENVU1RPTV9QUk9U
T0NPTFMpCi0gICAgUmVnaXN0ZXJTY2hlbWVGb3JDdXN0b21Qcm90b2NvbChXVEY6OlN0cmluZyBu
YW1lKQotICAgIFVucmVnaXN0ZXJTY2hlbWVGb3JDdXN0b21Qcm90b2NvbChXVEY6OlN0cmluZyBu
YW1lKQotI2VuZGlmCi0KICAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qo
V2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcg
aG9zdCkKIH0KIApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJv
dG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9DdXN0b21Qcm90b2NvbE1hbmFnZXIu
aAkocmV2aXNpb24gMTM4NTE5KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3Vz
dG9tUHJvdG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OCw4ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoQ1VTVE9NX1BST1RPQ09MUykKIAotI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJX
ZWJQcm9jZXNzU3VwcGxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTUyLDE1ICs1MSwyMCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENoaWxkUHJvY2VzczsK
K3N0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIAotY2xhc3MgQ3VzdG9t
UHJvdG9jb2xNYW5hZ2VyIDogcHJpdmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworY2xh
c3MgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyIDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50IHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDdXN0b21Qcm90b2NvbE1hbmFnZXIpOwotCiBwdWJs
aWM6Ci0gICAgc3RhdGljIEN1c3RvbVByb3RvY29sTWFuYWdlciYgc2hhcmVkKCk7Ci0gICAgCi0g
ICAgdm9pZCBpbml0aWFsaXplKENoaWxkUHJvY2VzcyopOwotICAgIHZvaWQgY29ubmVjdGlvbkVz
dGFibGlzaGVkKCk7CisgICAgZXhwbGljaXQgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyKENoaWxkUHJv
Y2VzcyopOworCisgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc3VwcGxlbWVudE5hbWUo
KTsKKworI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisgICAgLy8gRklYTUU6IE9uY2UgTmV0
d29ya1Byb2Nlc3NTdXBwbGVtZW50IGV4aXN0cywgdGhpcyBzaG91bGQKKyAgICAvLyBtb3ZlIHRv
IHRoZSBwcml2YXRlIHNlY3Rpb24uCisgICAgdm9pZCBpbml0aWFsaXplKGNvbnN0IE5ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CisjZW5kaWYKIAogICAgIENoaWxkUHJvY2Vzcyog
Y2hpbGRQcm9jZXNzKCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZFByb2Nlc3M7IH0KIApAQCAtNzQs
NyArNzgsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICBDdXN0b21Qcm90b2Nv
bE1hbmFnZXIoKTsKKyAgICAvLyBXZWJQcm9jZXNzU3VwcGxlbWVudAorICAgIHZvaWQgaW5pdGlh
bGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJikgT1ZFUlJJREU7CiAKICAg
ICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQ
Qzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9DdXN0b21Qcm90b2NvbE1hbmFnZXIubWVzc2FnZXMu
aW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJv
dG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdlci5tZXNzYWdlcy5pbgkocmV2aXNpb24gMTM4NTE5
KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0N1c3Rv
bVByb3RvY29sTWFuYWdlci5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcs
OSBAQCBtZXNzYWdlcyAtPiBDdXN0b21Qcm90b2NvbE1hbmFnZXIgewogICAgIERpZExvYWREYXRh
KHVpbnQ2NF90IGN1c3RvbVByb3RvY29sSUQsIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkK
ICAgICBEaWRSZWNlaXZlUmVzcG9uc2UodWludDY0X3QgY3VzdG9tUHJvdG9jb2xJRCwgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgdWludDMyX3QgY2FjaGVTdG9yYWdlUG9saWN5
KQogICAgIERpZEZpbmlzaExvYWRpbmcodWludDY0X3QgY3VzdG9tUHJvdG9jb2xJRCkKKworICAg
IFJlZ2lzdGVyU2NoZW1lKFdURjo6U3RyaW5nIG5hbWUpCisgICAgVW5yZWdpc3RlclNjaGVtZShX
VEY6OlN0cmluZyBuYW1lKQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKENVU1RPTV9QUk9UT0NPTFMp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvbWFj
L0N1c3RvbVByb3RvY29sTWFuYWdlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvbWFjL0N1c3RvbVByb3RvY29sTWFuYWdl
ck1hYy5tbQkocmV2aXNpb24gMTM4NTE5KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdv
cmsvQ3VzdG9tUHJvdG9jb2xzL21hYy9DdXN0b21Qcm90b2NvbE1hbmFnZXJNYWMubW0JKHdvcmtp
bmcgY29weSkKQEAgLTMzLDE5ICszMywzMCBAQAogI2ltcG9ydCAiQ3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHlNZXNzYWdlcy5oIgogI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgogI2ltcG9ydCAi
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisjaW1wb3J0ICJXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0tVUkwuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVz
b3VyY2VFcnJvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBv
cnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogCisjaWYgRU5BQkxFKE5FVFdPUktfUFJP
Q0VTUykKKyNpbXBvcnQgIk5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCisjZW5k
aWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAorbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0
YXRpYyBDdXN0b21Qcm90b2NvbE1hbmFnZXIqIHNoYXJlZEN1c3RvbVByb3RvY29sTWFuYWdlcjsK
Kwogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ3VzdG9tUHJvdG9jb2xJRCgpCiB7CiAgICAgc3Rh
dGljIHVpbnQ2NF90IHVuaXF1ZUN1c3RvbVByb3RvY29sSUQgPSAwOwogICAgIHJldHVybiArK3Vu
aXF1ZUN1c3RvbVByb3RvY29sSUQ7CiB9CiAKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCiBAaW50
ZXJmYWNlIFdLQ3VzdG9tUHJvdG9jb2wgOiBOU1VSTFByb3RvY29sIHsKIEBwcml2YXRlCiAgICAg
dWludDY0X3QgX2N1c3RvbVByb3RvY29sSUQ7CkBAIC01OSw3ICs3MCw3IEBAIEBpbnRlcmZhY2Ug
V0tDdXN0b21Qcm90b2NvbCA6IE5TVVJMUHJvdG8KIAogKyAoQk9PTCljYW5Jbml0V2l0aFJlcXVl
c3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKIHsKLSAgICByZXR1cm4gQ3VzdG9tUHJvdG9jb2xN
YW5hZ2VyOjpzaGFyZWQoKS5zdXBwb3J0c1NjaGVtZShbW1tyZXF1ZXN0IFVSTF0gc2NoZW1lXSBs
b3dlcmNhc2VTdHJpbmddKTsKKyAgICByZXR1cm4gc2hhcmVkQ3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
LT5zdXBwb3J0c1NjaGVtZShbW1tyZXF1ZXN0IFVSTF0gc2NoZW1lXSBsb3dlcmNhc2VTdHJpbmdd
KTsKIH0KIAogKyAoTlNVUkxSZXF1ZXN0ICopY2Fub25pY2FsUmVxdWVzdEZvclJlcXVlc3Q6KE5T
VVJMUmVxdWVzdCAqKXJlcXVlc3QKQEAgLTc5LDQ5ICs5MCw2MyBAQCAtIChpZClpbml0V2l0aFJl
cXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgCiAgICAg
X2N1c3RvbVByb3RvY29sSUQgPSBnZW5lcmF0ZUN1c3RvbVByb3RvY29sSUQoKTsKLSAgICBDdXN0
b21Qcm90b2NvbE1hbmFnZXI6OnNoYXJlZCgpLmFkZEN1c3RvbVByb3RvY29sKHNlbGYpOworICAg
IHNoYXJlZEN1c3RvbVByb3RvY29sTWFuYWdlci0+YWRkQ3VzdG9tUHJvdG9jb2woc2VsZik7CiAg
ICAgcmV0dXJuIHNlbGY7CiB9CiAKIC0gKHZvaWQpc3RhcnRMb2FkaW5nCiB7Ci0gICAgQ3VzdG9t
UHJvdG9jb2xNYW5hZ2VyOjpzaGFyZWQoKS5jaGlsZFByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6OlN0YXJ0TG9hZGluZyhzZWxmLmN1c3RvbVByb3Rv
Y29sSUQsIFtzZWxmIHJlcXVlc3RdKSwgMCk7CisgICAgc2hhcmVkQ3VzdG9tUHJvdG9jb2xNYW5h
Z2VyLT5jaGlsZFByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHk6OlN0YXJ0TG9hZGluZyhzZWxmLmN1c3RvbVByb3RvY29sSUQsIFtzZWxmIHJlcXVlc3Rd
KSwgMCk7CiB9CiAKIC0gKHZvaWQpc3RvcExvYWRpbmcKIHsKLSAgICBDdXN0b21Qcm90b2NvbE1h
bmFnZXI6OnNoYXJlZCgpLmNoaWxkUHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpDdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eTo6U3RvcExvYWRpbmcoc2VsZi5jdXN0b21Qcm90b2NvbElEKSwgMCk7
Ci0gICAgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjpzaGFyZWQoKS5yZW1vdmVDdXN0b21Qcm90b2Nv
bChzZWxmKTsKKyAgICBzaGFyZWRDdXN0b21Qcm90b2NvbE1hbmFnZXItPmNoaWxkUHJvY2Vzcygp
LT5zZW5kKE1lc3NhZ2VzOjpDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTo6U3RvcExvYWRpbmco
c2VsZi5jdXN0b21Qcm90b2NvbElEKSwgMCk7CisgICAgc2hhcmVkQ3VzdG9tUHJvdG9jb2xNYW5h
Z2VyLT5yZW1vdmVDdXN0b21Qcm90b2NvbChzZWxmKTsKIH0KIAogQGVuZAogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAotQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyJiBDdXN0b21Qcm90b2NvbE1hbmFnZXI6
OnNoYXJlZCgpCitjb25zdCBBdG9taWNTdHJpbmcmIEN1c3RvbVByb3RvY29sTWFuYWdlcjo6c3Vw
cGxlbWVudE5hbWUoKQogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3VzdG9tUHJvdG9jb2xN
YW5hZ2VyLCBjdXN0b21Qcm90b2NvbE1hbmFnZXIsICgpKTsKLSAgICByZXR1cm4gY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1l
LCAoIkN1c3RvbVByb3RvY29sTWFuYWdlciIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxp
dGVyYWwpKTsKKyAgICByZXR1cm4gbmFtZTsKIH0KIAotQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjpD
dXN0b21Qcm90b2NvbE1hbmFnZXIoKQotICAgIDogbV9jaGlsZFByb2Nlc3MoMCkKK0N1c3RvbVBy
b3RvY29sTWFuYWdlcjo6Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyKENoaWxkUHJvY2VzcyogY2hpbGRQ
cm9jZXNzKQorICAgIDogbV9jaGlsZFByb2Nlc3MoY2hpbGRQcm9jZXNzKQogeworICAgIG1fY2hp
bGRQcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkN1c3RvbVByb3RvY29sTWFu
YWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKKworICAgIEFTU0VSVCghc2hhcmVk
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyKTsKKyAgICBzaGFyZWRDdXN0b21Qcm90b2NvbE1hbmFnZXIg
PSB0aGlzOwogfQogCi12b2lkIEN1c3RvbVByb3RvY29sTWFuYWdlcjo6aW5pdGlhbGl6ZShDaGls
ZFByb2Nlc3MqIGNoaWxkUHJvY2VzcykKK3ZvaWQgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjppbml0
aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7
Ci0gICAgQVNTRVJUKCFtX2NoaWxkUHJvY2Vzcyk7Ci0gICAgQVNTRVJUKGNoaWxkUHJvY2Vzcyk7
CisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKyAgICBBU1NFUlQocGFyYW1ldGVycy51cmxT
Y2hlbWVzUmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29scy5pc0VtcHR5KCkgfHwgIXBhcmFtZXRl
cnMudXNlc05ldHdvcmtQcm9jZXNzKTsKKyAgICBpZiAocGFyYW1ldGVycy51c2VzTmV0d29ya1By
b2Nlc3MpCisgICAgICAgIHJldHVybjsKKyNlbmRpZgogCi0gICAgbV9jaGlsZFByb2Nlc3MgPSBj
aGlsZFByb2Nlc3M7Ci0gICAgbV9jaGlsZFByb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNz
YWdlczo6Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMp
OworICAgIFtOU1VSTFByb3RvY29sIHJlZ2lzdGVyQ2xhc3M6W1dLQ3VzdG9tUHJvdG9jb2wgY2xh
c3NdXTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGFyYW1ldGVycy51cmxTY2hlbWVz
UmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29scy5zaXplKCk7ICsraSkKKyAgICAgICAgcmVnaXN0
ZXJTY2hlbWUocGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29s
c1tpXSk7CiB9CiAKLXZvaWQgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjpjb25uZWN0aW9uRXN0YWJs
aXNoZWQoKQorI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCit2b2lkIEN1c3RvbVByb3RvY29s
TWFuYWdlcjo6aW5pdGlhbGl6ZShjb25zdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1ldGVycykKIHsKICAgICBbTlNVUkxQcm90b2NvbCByZWdpc3RlckNsYXNzOltXS0N1
c3RvbVByb3RvY29sIGNsYXNzXV07CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFt
ZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90b2NvbHMuc2l6ZSgpOyArK2kp
CisgICAgICAgIHJlZ2lzdGVyU2NoZW1lKHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRG
b3JDdXN0b21Qcm90b2NvbHNbaV0pOwogfQorI2VuZGlmCiAKIHZvaWQgQ3VzdG9tUHJvdG9jb2xN
YW5hZ2VyOjphZGRDdXN0b21Qcm90b2NvbChXS0N1c3RvbVByb3RvY29sICpjdXN0b21Qcm90b2Nv
bCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAJKHJldmlz
aW9uIDEzODUxOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsMTAgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vz
c1Byb3h5LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShDVVNUT01fUFJPVE9DT0xTKQorI2luY2x1
ZGUgIkN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VzLmgiCisjZW5kaWYKKwogI2lmIFVTRShT
T1VQKQogI2luY2x1ZGUgIldlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5LmgiCiAjZW5kaWYKQEAg
LTExNzUsMjYgKzExNzksMTQgQEAgdm9pZCBXZWJDb250ZXh0OjpzZXRQbHVnSW5BdXRvU3RhcnRP
cmlnaQogfQogCiAjaWYgRU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCi12b2lkIFdlYkNvbnRleHQ6
OnJlZ2lzdGVyU2NoZW1lRm9yQ3VzdG9tUHJvdG9jb2woY29uc3QgV1RGOjpTdHJpbmcmIHNjaGVt
ZSkKK3ZvaWQgV2ViQ29udGV4dDo6cmVnaXN0ZXJTY2hlbWVGb3JDdXN0b21Qcm90b2NvbChjb25z
dCBTdHJpbmcmIHNjaGVtZSkKIHsKLSNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQotICAgIGlm
IChtX3VzZXNOZXR3b3JrUHJvY2VzcyAmJiBtX25ldHdvcmtQcm9jZXNzKSB7Ci0gICAgICAgIG1f
bmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpSZWdpc3RlclNj
aGVtZUZvckN1c3RvbVByb3RvY29sKHNjaGVtZSksIDApOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotI2VuZGlmCi0gICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpS
ZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29sKHNjaGVtZSkpOworICAgIHNlbmRUb05ldHdv
cmtpbmdQcm9jZXNzKE1lc3NhZ2VzOjpDdXN0b21Qcm90b2NvbE1hbmFnZXI6OlJlZ2lzdGVyU2No
ZW1lKHNjaGVtZSkpOwogfQogCi12b2lkIFdlYkNvbnRleHQ6OnVucmVnaXN0ZXJTY2hlbWVGb3JD
dXN0b21Qcm90b2NvbChjb25zdCBXVEY6OlN0cmluZyYgc2NoZW1lKQordm9pZCBXZWJDb250ZXh0
Ojp1bnJlZ2lzdGVyU2NoZW1lRm9yQ3VzdG9tUHJvdG9jb2woY29uc3QgU3RyaW5nJiBzY2hlbWUp
CiB7Ci0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLSAgICBpZiAobV91c2VzTmV0d29ya1By
b2Nlc3MgJiYgbV9uZXR3b3JrUHJvY2VzcykgewotICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6VW5yZWdpc3RlclNjaGVtZUZvckN1c3RvbVBy
b3RvY29sKHNjaGVtZSksIDApOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0gICAg
c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpVbnJlZ2lzdGVyU2NoZW1l
Rm9yQ3VzdG9tUHJvdG9jb2woc2NoZW1lKSk7CisgICAgc2VuZFRvTmV0d29ya2luZ1Byb2Nlc3Mo
TWVzc2FnZXM6OkN1c3RvbVByb3RvY29sTWFuYWdlcjo6VW5yZWdpc3RlclNjaGVtZShzY2hlbWUp
KTsKIH0KICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAJKHJldmlzaW9uIDEzODUyMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Niw5ICsxNzYsNiBAQCBXZWJQcm9jZXNz
OjpXZWJQcm9jZXNzKCkKICNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECiAKIAotI2lmIEVOQUJMRShD
VVNUT01fUFJPVE9DT0xTKQotICAgIEN1c3RvbVByb3RvY29sTWFuYWdlcjo6c2hhcmVkKCkuaW5p
dGlhbGl6ZSh0aGlzKTsKLSNlbmRpZgogCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIG1vdmVk
IHRvIHdoZXJlIFdlYlByb2Nlc3M6OmluaXRpYWxpemUgaXMgY2FsbGVkLAogICAgIC8vIHNvIHRo
YXQgcG9ydHMgaGF2ZSBhIGNoYW5jZSB0byBjdXN0b21pemUsIGFuZCBpZmRlZnMgaW4gdGhpcyBm
aWxlIGFyZQpAQCAtMTk4LDYgKzE5NSw5IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAg
ICAgYWRkU3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyPigpOwogI2VuZGlmCisjaWYg
RU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCisgICAgYWRkU3VwcGxlbWVudDxDdXN0b21Qcm90b2Nv
bE1hbmFnZXI+KCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplKENv
cmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgc2VydmVySWRlbnRpZmllciwgUnVuTG9vcCog
cnVuTG9vcCkKQEAgLTMyMiwxMCArMzIyLDYgQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXpl
V2ViUHJvY2VzcyhjbwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnBs
dWdJbkF1dG9TdGFydE9yaWdpbnMuc2l6ZSgpOyArK2kpCiAgICAgICAgIGRpZEFkZFBsdWdJbkF1
dG9TdGFydE9yaWdpbihwYXJhbWV0ZXJzLnBsdWdJbkF1dG9TdGFydE9yaWdpbnNbaV0pOwotCi0j
aWYgRU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCi0gICAgaW5pdGlhbGl6ZUN1c3RvbVByb3RvY29s
TWFuYWdlcihwYXJhbWV0ZXJzKTsKLSNlbmRpZgogfQogCiAjaWYgRU5BQkxFKE5FVFdPUktfUFJP
Q0VTUykKQEAgLTEwNzYsMjkgKzEwNzIsNCBAQCB2b2lkIFdlYlByb2Nlc3M6OmRpZEdldFBsdWdp
bnMoQ29yZUlQQzo6CiB9CiAjZW5kaWYgLy8gRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCi0jaWYg
RU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCi12b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVDdXN0
b21Qcm90b2NvbE1hbmFnZXIoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFy
YW1ldGVycykKLXsKLSNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQotICAgIEFTU0VSVChwYXJh
bWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJvdG9jb2xzLmlzRW1wdHkoKSB8
fCAhbV91c2VzTmV0d29ya1Byb2Nlc3MpOwotICAgIGlmIChtX3VzZXNOZXR3b3JrUHJvY2VzcykK
LSAgICAgICAgcmV0dXJuOwotI2VuZGlmCi0KLSAgICBDdXN0b21Qcm90b2NvbE1hbmFnZXI6OnNo
YXJlZCgpLmNvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29scy5zaXpl
KCk7ICsraSkKLSAgICAgICAgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyOjpzaGFyZWQoKS5yZWdpc3Rl
clNjaGVtZShwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJvdG9jb2xz
W2ldKTsKLX0KLQotdm9pZCBXZWJQcm9jZXNzOjpyZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3Rv
Y29sKGNvbnN0IFdURjo6U3RyaW5nJiBzY2hlbWUpCi17Ci0gICAgQ3VzdG9tUHJvdG9jb2xNYW5h
Z2VyOjpzaGFyZWQoKS5yZWdpc3RlclNjaGVtZShzY2hlbWUpOwotfQotCi12b2lkIFdlYlByb2Nl
c3M6OnVucmVnaXN0ZXJTY2hlbWVGb3JDdXN0b21Qcm90b2NvbChjb25zdCBXVEY6OlN0cmluZyYg
c2NoZW1lKQotewotICAgIEN1c3RvbVByb3RvY29sTWFuYWdlcjo6c2hhcmVkKCkudW5yZWdpc3Rl
clNjaGVtZShzY2hlbWUpOwotfQotI2VuZGlmIC8vIEVOQUJMRShDVVNUT01fUFJPVE9DT0xTKQot
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCShyZXZpc2lvbiAxMzg1MjApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzA5LDEyICszMDksNiBAQCBwcml2YXRl
OgogICAgIHZvaWQgZGlkR2V0UGx1Z2lucyhDb3JlSVBDOjpDb25uZWN0aW9uKiwgdWludDY0X3Qg
cmVxdWVzdElELCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKTsKICNlbmRpZgog
Ci0jaWYgRU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCi0gICAgdm9pZCBpbml0aWFsaXplQ3VzdG9t
UHJvdG9jb2xNYW5hZ2VyKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKLSAg
ICB2b2lkIHJlZ2lzdGVyU2NoZW1lRm9yQ3VzdG9tUHJvdG9jb2woY29uc3QgV1RGOjpTdHJpbmcm
KTsKLSAgICB2b2lkIHVucmVnaXN0ZXJTY2hlbWVGb3JDdXN0b21Qcm90b2NvbChjb25zdCBXVEY6
OlN0cmluZyYpOwotI2VuZGlmCi0KICAgICBSZWZQdHI8Q29yZUlQQzo6Q29ubmVjdGlvbj4gbV9j
b25uZWN0aW9uOwogICAgIFJlZlB0cjxXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M+IG1fd2ViQ29u
bmVjdGlvbjsKIApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24gMTM4NTE5KQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsOSAr
MTA1LDQgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IFNldEFwcGxpY2F0aW9uSXNPY2NsdWRlZChib29sIGZsYWcpOwogI2VuZGlmCi0KLSNpZiBFTkFC
TEUoQ1VTVE9NX1BST1RPQ09MUykKLSAgICBSZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29s
KFdURjo6U3RyaW5nIG5hbWUpCi0gICAgVW5yZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29s
KFdURjo6U3RyaW5nIG5hbWUpCi0jZW5kaWYKIH0K
</data>
<flag name="review"
          id="198246"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>