<?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>108622</bug_id>
          
          <creation_ts>2013-02-01 05:36:44 -0800</creation_ts>
          <short_desc>[V8] Pass an Isolate to HasInstance() (part 3)</short_desc>
          <delta_ts>2013-02-03 15:55:33 -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>WebCore JavaScript</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="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>822670</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-01 05:36:44 -0800</bug_when>
    <thetext>This is one of efforts to pass an Isolate to GetTemplate().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822672</commentid>
    <comment_count>1</comment_count>
      <attachid>186023</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-01 05:37:43 -0800</bug_when>
    <thetext>Created attachment 186023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823900</commentid>
    <comment_count>2</comment_count>
      <attachid>186023</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-03 15:55:30 -0800</bug_when>
    <thetext>Comment on attachment 186023
Patch

Clearing flags on attachment: 186023

Committed r141719: &lt;http://trac.webkit.org/changeset/141719&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823901</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-03 15:55:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186023</attachid>
            <date>2013-02-01 05:37:43 -0800</date>
            <delta_ts>2013-02-03 15:55:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108622-20130201223425.patch</filename>
            <type>text/plain</type>
            <size>18967</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWU4NzljZDNhOGY4M2Vl
MGRmZTM5OGJhMDc0ZTIwYzM3ODQyNDFlNC4uNjU4YTQ1NDg4MmRmZWY0YTQ3Njk3MWZkNjllZTIy
Mzk3N2U0OGJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDEzLTAyLTAxICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIFBhc3MgYW4g
SXNvbGF0ZSB0byBIYXNJbnN0YW5jZSgpIChwYXJ0IDMpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg2MjIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIG9uZSBvZiBlZmZvcnRzIHRvIHBhc3Mg
YW4gSXNvbGF0ZSB0byBHZXRUZW1wbGF0ZSgpLgorCisgICAgICAgIE5vIHRlc3RzLiBObyBjaGFu
Z2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3Rl
ZFNjcmlwdEhvc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhJbmplY3RlZFNjcmlw
dEhvc3Q6OmlzSFRNTEFsbENvbGxlY3Rpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpW
OEluamVjdGVkU2NyaXB0SG9zdDo6dHlwZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4
SW5qZWN0ZWRTY3JpcHRIb3N0OjpnZXRFdmVudExpc3RlbmVyc0NhbGxiYWNrKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlY4Tm9kZTo6aW5zZXJ0QmVmb3JlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOb2Rl
OjpyZXBsYWNlQ2hpbGRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOE5vZGU6OnJlbW92
ZUNoaWxkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOb2RlOjphcHBlbmRDaGlsZENh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0Nv
bnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9XZWJHTFVuaWZvcm1Mb2NhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0QXR0YWNo
ZWRTaGFkZXJzQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmdldFByb2dyYW1QYXJhbWV0ZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpW
OFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U2hhZGVyUGFyYW1ldGVyQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6VjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFVuaWZvcm1DYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjp2ZXJ0ZXhBdHRyaWJBbmRVbmlmb3JtSGVscGVyZik6Cisg
ICAgICAgIChXZWJDb3JlOjp1bmlmb3JtSGVscGVyaSk6CisgICAgICAgIChXZWJDb3JlOjp1bmlm
b3JtTWF0cml4SGVscGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRw
UmVxdWVzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0RvY3VtZW50VHlwZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpWOFhNTEh0dHBSZXF1ZXN0OjpzZW5kQ2FsbGJhY2spOgorCisyMDEz
LTAyLTAxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTQxNTQ4LgogICAgICAgICBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC8xNDE1NDgKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwODU3OQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKaW5k
ZXggMWI3N2YzZjQ3YTk0ZDZkYjAxYTk3MjM0NGUyOWMzMDk5NjhhMjY2MC4uNDEwNGJkZmFmODcz
ODUwMjUzOTYxMDZiYWM4ZjcxNTMzZGNjYzZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0
b20uY3BwCkBAIC0xMTIsNyArMTEyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SW5qZWN0
ZWRTY3JpcHRIb3N0Ojppc0hUTUxBbGxDb2xsZWN0aW9uQ2FsbGJhY2soY29uc3QgdjgKICAgICAg
ICAgcmV0dXJuIHY4Qm9vbGVhbihmYWxzZSwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgdjg6
OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwotICAgIHJldHVybiB2ODo6Qm9vbGVhbjo6TmV3KFY4
SFRNTEFsbENvbGxlY3Rpb246Okhhc0luc3RhbmNlKGFyZ3NbMF0pKTsKKyAgICByZXR1cm4gdjg6
OkJvb2xlYW46Ok5ldyhWOEhUTUxBbGxDb2xsZWN0aW9uOjpIYXNJbnN0YW5jZShhcmdzWzBdLCBh
cmdzLkdldElzb2xhdGUoKSkpOwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhJbmplY3Rl
ZFNjcmlwdEhvc3Q6OnR5cGVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQpAQCAt
MTMzLDE5ICsxMzMsMTkgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SW5qZWN0ZWRTY3JpcHRI
b3N0Ojp0eXBlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXIKICAgICAgICAgcmV0dXJu
IHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiZGF0ZSIpOwogICAgIGlmICh2YWx1ZS0+SXNSZWdFeHAo
KSkKICAgICAgICAgcmV0dXJuIHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgicmVnZXhwIik7Ci0gICAg
aWYgKFY4Tm9kZTo6SGFzSW5zdGFuY2UodmFsdWUpKQorICAgIGlmIChWOE5vZGU6Okhhc0luc3Rh
bmNlKHZhbHVlLCBhcmdzLkdldElzb2xhdGUoKSkpCiAgICAgICAgIHJldHVybiB2ODo6U3RyaW5n
OjpOZXdTeW1ib2woIm5vZGUiKTsKLSAgICBpZiAoVjhOb2RlTGlzdDo6SGFzSW5zdGFuY2UodmFs
dWUpKQorICAgIGlmIChWOE5vZGVMaXN0OjpIYXNJbnN0YW5jZSh2YWx1ZSwgYXJncy5HZXRJc29s
YXRlKCkpKQogICAgICAgICByZXR1cm4gdjg6OlN0cmluZzo6TmV3U3ltYm9sKCJhcnJheSIpOwot
ICAgIGlmIChWOEhUTUxDb2xsZWN0aW9uOjpIYXNJbnN0YW5jZSh2YWx1ZSkpCisgICAgaWYgKFY4
SFRNTENvbGxlY3Rpb246Okhhc0luc3RhbmNlKHZhbHVlLCBhcmdzLkdldElzb2xhdGUoKSkpCiAg
ICAgICAgIHJldHVybiB2ODo6U3RyaW5nOjpOZXdTeW1ib2woImFycmF5Iik7Ci0gICAgaWYgKFY4
SW50OEFycmF5OjpIYXNJbnN0YW5jZSh2YWx1ZSkgfHwgVjhJbnQxNkFycmF5OjpIYXNJbnN0YW5j
ZSh2YWx1ZSkgfHwgVjhJbnQzMkFycmF5OjpIYXNJbnN0YW5jZSh2YWx1ZSkpCisgICAgaWYgKFY4
SW50OEFycmF5OjpIYXNJbnN0YW5jZSh2YWx1ZSwgYXJncy5HZXRJc29sYXRlKCkpIHx8IFY4SW50
MTZBcnJheTo6SGFzSW5zdGFuY2UodmFsdWUsIGFyZ3MuR2V0SXNvbGF0ZSgpKSB8fCBWOEludDMy
QXJyYXk6Okhhc0luc3RhbmNlKHZhbHVlLCBhcmdzLkdldElzb2xhdGUoKSkpCiAgICAgICAgIHJl
dHVybiB2ODo6U3RyaW5nOjpOZXdTeW1ib2woImFycmF5Iik7Ci0gICAgaWYgKFY4VWludDhBcnJh
eTo6SGFzSW5zdGFuY2UodmFsdWUpIHx8IFY4VWludDE2QXJyYXk6Okhhc0luc3RhbmNlKHZhbHVl
KSB8fCBWOFVpbnQzMkFycmF5OjpIYXNJbnN0YW5jZSh2YWx1ZSkpCisgICAgaWYgKFY4VWludDhB
cnJheTo6SGFzSW5zdGFuY2UodmFsdWUsIGFyZ3MuR2V0SXNvbGF0ZSgpKSB8fCBWOFVpbnQxNkFy
cmF5OjpIYXNJbnN0YW5jZSh2YWx1ZSwgYXJncy5HZXRJc29sYXRlKCkpIHx8IFY4VWludDMyQXJy
YXk6Okhhc0luc3RhbmNlKHZhbHVlLCBhcmdzLkdldElzb2xhdGUoKSkpCiAgICAgICAgIHJldHVy
biB2ODo6U3RyaW5nOjpOZXdTeW1ib2woImFycmF5Iik7Ci0gICAgaWYgKFY4RmxvYXQzMkFycmF5
OjpIYXNJbnN0YW5jZSh2YWx1ZSkgfHwgVjhGbG9hdDY0QXJyYXk6Okhhc0luc3RhbmNlKHZhbHVl
KSkKKyAgICBpZiAoVjhGbG9hdDMyQXJyYXk6Okhhc0luc3RhbmNlKHZhbHVlLCBhcmdzLkdldElz
b2xhdGUoKSkgfHwgVjhGbG9hdDY0QXJyYXk6Okhhc0luc3RhbmNlKHZhbHVlLCBhcmdzLkdldElz
b2xhdGUoKSkpCiAgICAgICAgIHJldHVybiB2ODo6U3RyaW5nOjpOZXdTeW1ib2woImFycmF5Iik7
Ci0gICAgaWYgKFY4VWludDhDbGFtcGVkQXJyYXk6Okhhc0luc3RhbmNlKHZhbHVlKSkKKyAgICBp
ZiAoVjhVaW50OENsYW1wZWRBcnJheTo6SGFzSW5zdGFuY2UodmFsdWUsIGFyZ3MuR2V0SXNvbGF0
ZSgpKSkKICAgICAgICAgcmV0dXJuIHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiYXJyYXkiKTsKICAg
ICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogfQpAQCAtMjQzLDcgKzI0Myw3IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOEluamVjdGVkU2NyaXB0SG9zdDo6Z2V0RXZlbnRMaXN0ZW5lcnNDYWxs
YmFjayhjb25zdCB2ODo6CiAgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwogCiAgICAg
djg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUgPSBhcmdzWzBdOwotICAgIGlmICghVjhOb2RlOjpI
YXNJbnN0YW5jZSh2YWx1ZSkpCisgICAgaWYgKCFWOE5vZGU6Okhhc0luc3RhbmNlKHZhbHVlLCBh
cmdzLkdldElzb2xhdGUoKSkpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAg
Tm9kZSogbm9kZSA9IFY4Tm9kZTo6dG9OYXRpdmUodmFsdWUtPlRvT2JqZWN0KCkpOwogICAgIGlm
ICghbm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5vZGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9k
ZUN1c3RvbS5jcHAKaW5kZXggMjRlNjg2ZTc1OWUxNjFlYjExNTFmZDk3N2FmZTc2MGYyZTcwYjNk
MS4uOTA3MzEyOTk1ZDI0NDkxOTczMmNhMmZjNjUxMWJmNWQwYWQxYzc0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAKQEAgLTY2
LDggKzY2LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm9kZTo6aW5zZXJ0QmVmb3JlQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICB2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+IGhvbGRlciA9IGFyZ3MuSG9sZGVyKCk7CiAgICAgTm9kZSogaW1wID0gVjhOb2RlOjp0b05h
dGl2ZShob2xkZXIpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIE5vZGUqIG5ld0No
aWxkID0gVjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzBdKSA/IFY4Tm9kZTo6dG9OYXRpdmUodjg6
OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkgOiAwOwotICAgIE5vZGUqIHJlZkNo
aWxkID0gVjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4Tm9kZTo6dG9OYXRpdmUodjg6
OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSkgOiAwOworICAgIE5vZGUqIG5ld0No
aWxkID0gVjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzBdLCBhcmdzLkdldElzb2xhdGUoKSkgPyBW
OE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDog
MDsKKyAgICBOb2RlKiByZWZDaGlsZCA9IFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1sxXSwgYXJn
cy5HZXRJc29sYXRlKCkpID8gVjhOb2RlOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
OjpDYXN0KGFyZ3NbMV0pKSA6IDA7CiAgICAgYm9vbCBzdWNjZXNzID0gaW1wLT5pbnNlcnRCZWZv
cmUobmV3Q2hpbGQsIHJlZkNoaWxkLCBlYywgdHJ1ZSk7CiAgICAgaWYgKGVjKQogICAgICAgICBy
ZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CkBAIC04Miw4ICs4
Miw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vZGU6OnJlcGxhY2VDaGlsZENhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBo
b2xkZXIgPSBhcmdzLkhvbGRlcigpOwogICAgIE5vZGUqIGltcCA9IFY4Tm9kZTo6dG9OYXRpdmUo
aG9sZGVyKTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBOb2RlKiBuZXdDaGlsZCA9
IFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5k
bGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsKLSAgICBOb2RlKiBvbGRDaGlsZCA9
IFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1sxXSkgPyBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5k
bGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpIDogMDsKKyAgICBOb2RlKiBuZXdDaGlsZCA9
IFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1swXSwgYXJncy5HZXRJc29sYXRlKCkpID8gVjhOb2Rl
Ojp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDA7Cisg
ICAgTm9kZSogb2xkQ2hpbGQgPSBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMV0sIGFyZ3MuR2V0
SXNvbGF0ZSgpKSA/IFY4Tm9kZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2Fz
dChhcmdzWzFdKSkgOiAwOwogICAgIGJvb2wgc3VjY2VzcyA9IGltcC0+cmVwbGFjZUNoaWxkKG5l
d0NoaWxkLCBvbGRDaGlsZCwgZWMsIHRydWUpOwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJu
IHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwpAQCAtOTcsNyArOTcsNyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb2RlOjpyZW1vdmVDaGlsZENhbGxiYWNrKGNvbnN0
IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIg
PSBhcmdzLkhvbGRlcigpOwogICAgIE5vZGUqIGltcCA9IFY4Tm9kZTo6dG9OYXRpdmUoaG9sZGVy
KTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBOb2RlKiBvbGRDaGlsZCA9IFY4Tm9k
ZTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6
Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsKKyAgICBOb2RlKiBvbGRDaGlsZCA9IFY4Tm9k
ZTo6SGFzSW5zdGFuY2UoYXJnc1swXSwgYXJncy5HZXRJc29sYXRlKCkpID8gVjhOb2RlOjp0b05h
dGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDA7CiAgICAgYm9v
bCBzdWNjZXNzID0gaW1wLT5yZW1vdmVDaGlsZChvbGRDaGlsZCwgZWMpOwogICAgIGlmIChlYykK
ICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwpA
QCAtMTEyLDcgKzExMiw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vZGU6OmFwcGVuZENo
aWxkQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IGhvbGRlciA9IGFyZ3MuSG9sZGVyKCk7CiAgICAgTm9kZSogaW1wID0gVjhOb2Rl
Ojp0b05hdGl2ZShob2xkZXIpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIE5vZGUq
IG5ld0NoaWxkID0gVjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzBdKSA/IFY4Tm9kZTo6dG9OYXRp
dmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkgOiAwOworICAgIE5vZGUq
IG5ld0NoaWxkID0gVjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzBdLCBhcmdzLkdldElzb2xhdGUo
KSkgPyBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sw
XSkpIDogMDsKICAgICBib29sIHN1Y2Nlc3MgPSBpbXAtPmFwcGVuZENoaWxkKG5ld0NoaWxkLCBl
YywgdHJ1ZSApOwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihl
YywgYXJncy5HZXRJc29sYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHAKaW5kZXggYWFmNWY0NDc2MTBhNTI2MGExOGRkZDUyNWM4MDA2NjQxOGIzOGNlZi4uY2FiZWI2
MDcyYzU0OGJkMjM1Yzg3MWNmMGRjODFkOTJhM2JhYmE2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwCkBAIC0yNTUsNyArMjU1LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBnZXRPYmplY3RQYXJhbWV0ZXIoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywg
T2JqZWMKICAgICByZXR1cm4gdG9WOE9iamVjdChpbmZvLCBhcmdzLkhvbGRlcigpLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiB9CiAKLXN0YXRpYyBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogdG9XZWJHTFVu
aWZvcm1Mb2NhdGlvbih2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIGJvb2wmIG9rKQorc3Rh
dGljIFdlYkdMVW5pZm9ybUxvY2F0aW9uKiB0b1dlYkdMVW5pZm9ybUxvY2F0aW9uKHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB2YWx1ZSwgYm9vbCYgb2ssIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewog
ICAgIG9rID0gZmFsc2U7CiAgICAgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uID0gMDsK
QEAgLTI3Nyw5ICsyNzcsOSBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldEF0dGFjaGVkU2hhZGVyc0NhbGxiYWNrKGNvbnN0CiAKICAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBWOFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7Ci0gICAgaWYgKGFy
Z3MuTGVuZ3RoKCkgPiAwICYmICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzBdKSAmJiAhVjhXZWJH
TFByb2dyYW06Okhhc0luc3RhbmNlKGFyZ3NbMF0pKQorICAgIGlmIChhcmdzLkxlbmd0aCgpID4g
MCAmJiAhaXNVbmRlZmluZWRPck51bGwoYXJnc1swXSkgJiYgIVY4V2ViR0xQcm9ncmFtOjpIYXNJ
bnN0YW5jZShhcmdzWzBdLCBhcmdzLkdldElzb2xhdGUoKSkpCiAgICAgICAgIHJldHVybiB0aHJv
d1R5cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7Ci0gICAgV2ViR0xQcm9ncmFtKiBwcm9n
cmFtID0gVjhXZWJHTFByb2dyYW06Okhhc0luc3RhbmNlKGFyZ3NbMF0pID8gVjhXZWJHTFByb2dy
YW06OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsK
KyAgICBXZWJHTFByb2dyYW0qIHByb2dyYW0gPSBWOFdlYkdMUHJvZ3JhbTo6SGFzSW5zdGFuY2Uo
YXJnc1swXSwgYXJncy5HZXRJc29sYXRlKCkpID8gVjhXZWJHTFByb2dyYW06OnRvTmF0aXZlKHY4
OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsKICAgICBWZWN0b3I8UmVm
UHRyPFdlYkdMU2hhZGVyPiA+IHNoYWRlcnM7CiAgICAgYm9vbCBzdWNjZWVkID0gY29udGV4dC0+
Z2V0QXR0YWNoZWRTaGFkZXJzKHByb2dyYW0sIHNoYWRlcnMsIGVjKTsKICAgICBpZiAoZWMpIHsK
QEAgLTM0Niw5ICszNDYsOSBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldFByb2dyYW1QYXJhbWV0ZXJDYWxsYmFjayhjb25zdAogCiAgICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7CiAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0ID0gVjhX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwotICAgIGlmIChh
cmdzLkxlbmd0aCgpID4gMCAmJiAhaXNVbmRlZmluZWRPck51bGwoYXJnc1swXSkgJiYgIVY4V2Vi
R0xQcm9ncmFtOjpIYXNJbnN0YW5jZShhcmdzWzBdKSkKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA+
IDAgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMF0pICYmICFWOFdlYkdMUHJvZ3JhbTo6SGFz
SW5zdGFuY2UoYXJnc1swXSwgYXJncy5HZXRJc29sYXRlKCkpKQogICAgICAgICByZXR1cm4gdGhy
b3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOwotICAgIFdlYkdMUHJvZ3JhbSogcHJv
Z3JhbSA9IFY4V2ViR0xQcm9ncmFtOjpIYXNJbnN0YW5jZShhcmdzWzBdKSA/IFY4V2ViR0xQcm9n
cmFtOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDA7
CisgICAgV2ViR0xQcm9ncmFtKiBwcm9ncmFtID0gVjhXZWJHTFByb2dyYW06Okhhc0luc3RhbmNl
KGFyZ3NbMF0sIGFyZ3MuR2V0SXNvbGF0ZSgpKSA/IFY4V2ViR0xQcm9ncmFtOjp0b05hdGl2ZSh2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDA7CiAgICAgdW5zaWduZWQg
cG5hbWUgPSB0b0ludDMyKGFyZ3NbMV0pOwogICAgIFdlYkdMR2V0SW5mbyBpbmZvID0gY29udGV4
dC0+Z2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBwbmFtZSwgZWMpOwogICAgIGlmIChlYykK
QEAgLTM2OCw5ICszNjgsOSBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldFNoYWRlclBhcmFtZXRlckNhbGxiYWNrKGNvbnN0CiAKICAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBWOFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7Ci0gICAgaWYgKGFy
Z3MuTGVuZ3RoKCkgPiAwICYmICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzBdKSAmJiAhVjhXZWJH
TFNoYWRlcjo6SGFzSW5zdGFuY2UoYXJnc1swXSkpCisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAw
ICYmICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzBdKSAmJiAhVjhXZWJHTFNoYWRlcjo6SGFzSW5z
dGFuY2UoYXJnc1swXSwgYXJncy5HZXRJc29sYXRlKCkpKQogICAgICAgICByZXR1cm4gdGhyb3dU
eXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOwotICAgIFdlYkdMU2hhZGVyKiBzaGFkZXIg
PSBWOFdlYkdMU2hhZGVyOjpIYXNJbnN0YW5jZShhcmdzWzBdKSA/IFY4V2ViR0xTaGFkZXI6OnRv
TmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsKKyAgICBX
ZWJHTFNoYWRlciogc2hhZGVyID0gVjhXZWJHTFNoYWRlcjo6SGFzSW5zdGFuY2UoYXJnc1swXSwg
YXJncy5HZXRJc29sYXRlKCkpID8gVjhXZWJHTFNoYWRlcjo6dG9OYXRpdmUodjg6OkhhbmRsZTx2
ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkgOiAwOwogICAgIHVuc2lnbmVkIHBuYW1lID0gdG9J
bnQzMihhcmdzWzFdKTsKICAgICBXZWJHTEdldEluZm8gaW5mbyA9IGNvbnRleHQtPmdldFNoYWRl
clBhcmFtZXRlcihzaGFkZXIsIHBuYW1lLCBlYyk7CiAgICAgaWYgKGVjKQpAQCAtNDAzLDE0ICs0
MDMsMTQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRVbmlmb3JtQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3UKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMg
PSAwOwogICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IFY4V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKLSAgICBpZiAoYXJncy5MZW5ndGgo
KSA+IDAgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMF0pICYmICFWOFdlYkdMUHJvZ3JhbTo6
SGFzSW5zdGFuY2UoYXJnc1swXSkpCisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAwICYmICFpc1Vu
ZGVmaW5lZE9yTnVsbChhcmdzWzBdKSAmJiAhVjhXZWJHTFByb2dyYW06Okhhc0luc3RhbmNlKGFy
Z3NbMF0sIGFyZ3MuR2V0SXNvbGF0ZSgpKSkKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9y
KDAsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKLSAgICBXZWJHTFByb2dyYW0qIHByb2dyYW0gPSBWOFdl
YkdMUHJvZ3JhbTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOFdlYkdMUHJvZ3JhbTo6dG9OYXRp
dmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkgOiAwOworICAgIFdlYkdM
UHJvZ3JhbSogcHJvZ3JhbSA9IFY4V2ViR0xQcm9ncmFtOjpIYXNJbnN0YW5jZShhcmdzWzBdLCBh
cmdzLkdldElzb2xhdGUoKSkgPyBWOFdlYkdMUHJvZ3JhbTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2
ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkgOiAwOwogCi0gICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PiAxICYmICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSAmJiAhVjhXZWJHTFVuaWZvcm1Mb2Nh
dGlvbjo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpCisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAxICYm
ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSAmJiAhVjhXZWJHTFVuaWZvcm1Mb2NhdGlvbjo6
SGFzSW5zdGFuY2UoYXJnc1sxXSwgYXJncy5HZXRJc29sYXRlKCkpKQogICAgICAgICByZXR1cm4g
dGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGJvb2wgb2sgPSBmYWxz
ZTsKLSAgICBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24gPSB0b1dlYkdMVW5pZm9ybUxv
Y2F0aW9uKGFyZ3NbMV0sIG9rKTsKKyAgICBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24g
PSB0b1dlYkdMVW5pZm9ybUxvY2F0aW9uKGFyZ3NbMV0sIG9rLCBhcmdzLkdldElzb2xhdGUoKSk7
CiAKICAgICBXZWJHTEdldEluZm8gaW5mbyA9IGNvbnRleHQtPmdldFVuaWZvcm0ocHJvZ3JhbSwg
bG9jYXRpb24sIGVjKTsKICAgICBpZiAoZWMpCkBAIC00NzIsMTQgKzQ3MiwxNCBAQCBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHZlcnRleEF0dHJpYkFuZFVuaWZvcm1IZWxwZXJmKGNvbnN0
IHY4OjpBcmd1bWVudHMmCiAgICAgaWYgKGlzRnVuY3Rpb25Ub0NhbGxGb3JBdHRyaWJ1dGUoZnVu
Y3Rpb25Ub0NhbGwpKQogICAgICAgICBpbmRleCA9IHRvSW50MzIoYXJnc1swXSk7CiAgICAgZWxz
ZSB7Ci0gICAgICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMCAmJiAhaXNVbmRlZmluZWRPck51bGwo
YXJnc1swXSkgJiYgIVY4V2ViR0xVbmlmb3JtTG9jYXRpb246Okhhc0luc3RhbmNlKGFyZ3NbMF0p
KQorICAgICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDAgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKGFy
Z3NbMF0pICYmICFWOFdlYkdMVW5pZm9ybUxvY2F0aW9uOjpIYXNJbnN0YW5jZShhcmdzWzBdLCBh
cmdzLkdldElzb2xhdGUoKSkpCiAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoMCwg
YXJncy5HZXRJc29sYXRlKCkpOwotICAgICAgICBsb2NhdGlvbiA9IHRvV2ViR0xVbmlmb3JtTG9j
YXRpb24oYXJnc1swXSwgb2spOworICAgICAgICBsb2NhdGlvbiA9IHRvV2ViR0xVbmlmb3JtTG9j
YXRpb24oYXJnc1swXSwgb2ssIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9CiAKICAgICBXZWJH
TFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dG9O
YXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAKLSAgICBpZiAoVjhGbG9hdDMyQXJyYXk6Okhhc0luc3Rh
bmNlKGFyZ3NbMV0pKSB7CisgICAgaWYgKFY4RmxvYXQzMkFycmF5OjpIYXNJbnN0YW5jZShhcmdz
WzFdLCBhcmdzLkdldElzb2xhdGUoKSkpIHsKICAgICAgICAgRmxvYXQzMkFycmF5KiBhcnJheSA9
IFY4RmxvYXQzMkFycmF5Ojp0b05hdGl2ZShhcmdzWzFdLT5Ub09iamVjdCgpKTsKICAgICAgICAg
QVNTRVJUKGFycmF5ICE9IE5VTEwpOwogICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAg
LTU0MywxMiArNTQzLDEyIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdW5pZm9ybUhl
bHBlcmkoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywKICAgICAgICAgcmV0dXJuIHRocm93Tm90
RW5vdWdoQXJndW1lbnRzRXJyb3IoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0KiBjb250ZXh0ID0gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRvTmF0aXZl
KGFyZ3MuSG9sZGVyKCkpOwotICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMCAmJiAhaXNVbmRlZmlu
ZWRPck51bGwoYXJnc1swXSkgJiYgIVY4V2ViR0xVbmlmb3JtTG9jYXRpb246Okhhc0luc3RhbmNl
KGFyZ3NbMF0pKQorICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMCAmJiAhaXNVbmRlZmluZWRPck51
bGwoYXJnc1swXSkgJiYgIVY4V2ViR0xVbmlmb3JtTG9jYXRpb246Okhhc0luc3RhbmNlKGFyZ3Nb
MF0sIGFyZ3MuR2V0SXNvbGF0ZSgpKSkKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKDAs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBib29sIG9rID0gZmFsc2U7Ci0gICAgV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uID0gdG9XZWJHTFVuaWZvcm1Mb2NhdGlvbihhcmdzWzBdLCBv
ayk7CisgICAgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uID0gdG9XZWJHTFVuaWZvcm1M
b2NhdGlvbihhcmdzWzBdLCBvaywgYXJncy5HZXRJc29sYXRlKCkpOwogCi0gICAgaWYgKFY4SW50
MzJBcnJheTo6SGFzSW5zdGFuY2UoYXJnc1sxXSkpIHsKKyAgICBpZiAoVjhJbnQzMkFycmF5OjpI
YXNJbnN0YW5jZShhcmdzWzFdLCBhcmdzLkdldElzb2xhdGUoKSkpIHsKICAgICAgICAgSW50MzJB
cnJheSogYXJyYXkgPSBWOEludDMyQXJyYXk6OnRvTmF0aXZlKGFyZ3NbMV0tPlRvT2JqZWN0KCkp
OwogICAgICAgICBBU1NFUlQoYXJyYXkgIT0gTlVMTCk7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwpAQCAtNjQ1LDEzICs2NDUsMTMgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB1bmlmb3JtTWF0cml4SGVscGVyKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MsCiAKICAgICBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAKLSAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDAgJiYg
IWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbMF0pICYmICFWOFdlYkdMVW5pZm9ybUxvY2F0aW9uOjpI
YXNJbnN0YW5jZShhcmdzWzBdKSkKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDAgJiYgIWlzVW5k
ZWZpbmVkT3JOdWxsKGFyZ3NbMF0pICYmICFWOFdlYkdMVW5pZm9ybUxvY2F0aW9uOjpIYXNJbnN0
YW5jZShhcmdzWzBdLCBhcmdzLkdldElzb2xhdGUoKSkpCiAgICAgICAgIHJldHVybiB0aHJvd1R5
cGVFcnJvcigwLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgYm9vbCBvayA9IGZhbHNlOwotICAg
IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiA9IHRvV2ViR0xVbmlmb3JtTG9jYXRpb24o
YXJnc1swXSwgb2spOworICAgIFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiA9IHRvV2Vi
R0xVbmlmb3JtTG9jYXRpb24oYXJnc1swXSwgb2ssIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAK
ICAgICBib29sIHRyYW5zcG9zZSA9IGFyZ3NbMV0tPkJvb2xlYW5WYWx1ZSgpOwotICAgIGlmIChW
OEZsb2F0MzJBcnJheTo6SGFzSW5zdGFuY2UoYXJnc1syXSkpIHsKKyAgICBpZiAoVjhGbG9hdDMy
QXJyYXk6Okhhc0luc3RhbmNlKGFyZ3NbMl0sIGFyZ3MuR2V0SXNvbGF0ZSgpKSkgewogICAgICAg
ICBGbG9hdDMyQXJyYXkqIGFycmF5ID0gVjhGbG9hdDMyQXJyYXk6OnRvTmF0aXZlKGFyZ3NbMl0t
PlRvT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoYXJyYXkgIT0gTlVMTCk7CiAgICAgICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCmluZGV4IGRlZjA1YjI3
YTY2NDk4NDAyMWYxZmVlMTExNzViZWI4NmJiYWQ3MTkuLjJmNmQ1NGU3NzAyYWY4MTJlYzVjNWRj
ZjhjNjQzYjkwYmJhODUzNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKQEAgLTE1OCwxMCAr
MTU4LDEwIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFhNTEh0dHBSZXF1ZXN0OjpvcGVuQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICByZXR1cm4gdjg6OlVuZGVmaW5l
ZCgpOwogfQogCi1zdGF0aWMgYm9vbCBpc0RvY3VtZW50VHlwZSh2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdmFsdWUpCitzdGF0aWMgYm9vbCBpc0RvY3VtZW50VHlwZSh2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdmFsdWUsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIC8vIEZJWE1FOiBhZGQgb3Ro
ZXIgZG9jdW1lbnQgdHlwZXMuCi0gICAgcmV0dXJuIFY4RG9jdW1lbnQ6Okhhc0luc3RhbmNlKHZh
bHVlKSB8fCBWOEhUTUxEb2N1bWVudDo6SGFzSW5zdGFuY2UodmFsdWUpOworICAgIHJldHVybiBW
OERvY3VtZW50OjpIYXNJbnN0YW5jZSh2YWx1ZSwgaXNvbGF0ZSkgfHwgVjhIVE1MRG9jdW1lbnQ6
Okhhc0luc3RhbmNlKHZhbHVlLCBpc29sYXRlKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4WE1MSHR0cFJlcXVlc3Q6OnNlbmRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdz
KQpAQCAtMTc3LDI4ICsxNzcsMjggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJl
cXVlc3Q6OnNlbmRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJnID0gYXJnc1swXTsKICAgICAgICAgaWYgKGlzVW5kZWZp
bmVkT3JOdWxsKGFyZykpCiAgICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC0+c2VuZChlYyk7Ci0g
ICAgICAgIGVsc2UgaWYgKGlzRG9jdW1lbnRUeXBlKGFyZykpIHsKKyAgICAgICAgZWxzZSBpZiAo
aXNEb2N1bWVudFR5cGUoYXJnLCBhcmdzLkdldElzb2xhdGUoKSkpIHsKICAgICAgICAgICAgIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2Fz
dChhcmcpOwogICAgICAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gVjhEb2N1bWVudDo6dG9O
YXRpdmUob2JqZWN0KTsKICAgICAgICAgICAgIEFTU0VSVChkb2N1bWVudCk7CiAgICAgICAgICAg
ICB4bWxIdHRwUmVxdWVzdC0+c2VuZChkb2N1bWVudCwgZWMpOwotICAgICAgICB9IGVsc2UgaWYg
KFY4QmxvYjo6SGFzSW5zdGFuY2UoYXJnKSkgeworICAgICAgICB9IGVsc2UgaWYgKFY4QmxvYjo6
SGFzSW5zdGFuY2UoYXJnLCBhcmdzLkdldElzb2xhdGUoKSkpIHsKICAgICAgICAgICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChh
cmcpOwogICAgICAgICAgICAgQmxvYiogYmxvYiA9IFY4QmxvYjo6dG9OYXRpdmUob2JqZWN0KTsK
ICAgICAgICAgICAgIEFTU0VSVChibG9iKTsKICAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0LT5z
ZW5kKGJsb2IsIGVjKTsKLSAgICAgICAgfSBlbHNlIGlmIChWOERPTUZvcm1EYXRhOjpIYXNJbnN0
YW5jZShhcmcpKSB7CisgICAgICAgIH0gZWxzZSBpZiAoVjhET01Gb3JtRGF0YTo6SGFzSW5zdGFu
Y2UoYXJnLCBhcmdzLkdldElzb2xhdGUoKSkpIHsKICAgICAgICAgICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gb2JqZWN0ID0gdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmcpOwogICAg
ICAgICAgICAgRE9NRm9ybURhdGEqIGRvbUZvcm1EYXRhID0gVjhET01Gb3JtRGF0YTo6dG9OYXRp
dmUob2JqZWN0KTsKICAgICAgICAgICAgIEFTU0VSVChkb21Gb3JtRGF0YSk7CiAgICAgICAgICAg
ICB4bWxIdHRwUmVxdWVzdC0+c2VuZChkb21Gb3JtRGF0YSwgZWMpOwogI2lmIEVOQUJMRShXRUJH
TCkgfHwgRU5BQkxFKEJMT0IpCi0gICAgICAgIH0gZWxzZSBpZiAoVjhBcnJheUJ1ZmZlcjo6SGFz
SW5zdGFuY2UoYXJnKSkgeworICAgICAgICB9IGVsc2UgaWYgKFY4QXJyYXlCdWZmZXI6Okhhc0lu
c3RhbmNlKGFyZywgYXJncy5HZXRJc29sYXRlKCkpKSB7CiAgICAgICAgICAgICB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IG9iamVjdCA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnKTsK
ICAgICAgICAgICAgIEFycmF5QnVmZmVyKiBhcnJheUJ1ZmZlciA9IFY4QXJyYXlCdWZmZXI6OnRv
TmF0aXZlKG9iamVjdCk7CiAgICAgICAgICAgICBBU1NFUlQoYXJyYXlCdWZmZXIpOwogICAgICAg
ICAgICAgeG1sSHR0cFJlcXVlc3QtPnNlbmQoYXJyYXlCdWZmZXIsIGVjKTsKLSAgICAgICAgfSBl
bHNlIGlmIChWOEFycmF5QnVmZmVyVmlldzo6SGFzSW5zdGFuY2UoYXJnKSkgeworICAgICAgICB9
IGVsc2UgaWYgKFY4QXJyYXlCdWZmZXJWaWV3OjpIYXNJbnN0YW5jZShhcmcsIGFyZ3MuR2V0SXNv
bGF0ZSgpKSkgewogICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3QgPSB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZyk7CiAgICAgICAgICAgICBBcnJheUJ1ZmZl
clZpZXcqIGFycmF5QnVmZmVyVmlldyA9IFY4QXJyYXlCdWZmZXJWaWV3Ojp0b05hdGl2ZShvYmpl
Y3QpOwogICAgICAgICAgICAgQVNTRVJUKGFycmF5QnVmZmVyVmlldyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>