<?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>222509</bug_id>
          
          <creation_ts>2021-02-26 20:42:23 -0800</creation_ts>
          <short_desc>[JSC] Avoid creating functions unnecessarily in builtins</short_desc>
          <delta_ts>2021-02-26 22:53:13 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1734120</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-26 20:42:23 -0800</bug_when>
    <thetext>[JSC] Avoid creating functions unnecessarily in builtins</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734121</commentid>
    <comment_count>1</comment_count>
      <attachid>421735</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-26 20:43:04 -0800</bug_when>
    <thetext>Created attachment 421735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734127</commentid>
    <comment_count>2</comment_count>
      <attachid>421735</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-02-26 21:59:41 -0800</bug_when>
    <thetext>Comment on attachment 421735
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734141</commentid>
    <comment_count>3</comment_count>
      <attachid>421735</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-26 22:31:36 -0800</bug_when>
    <thetext>Comment on attachment 421735
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734147</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-26 22:52:10 -0800</bug_when>
    <thetext>Committed r273617: &lt;https://commits.webkit.org/r273617&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421735.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734148</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-26 22:53:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/74821557&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421735</attachid>
            <date>2021-02-26 20:43:04 -0800</date>
            <delta_ts>2021-02-26 22:52:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222509-20210226204304.patch</filename>
            <type>text/plain</type>
            <size>24514</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ODUzMWM5ZGVhNGIwMTg2OGE5NTA3MjU5ZmMzNGY4MjIxYjBhNDQyLi5jM2NjNjY2YjM5OTgwMjBl
OTNhYTIxODExYjhlNzM1MTRlMTYzMjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMS0wMi0yNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEF2b2lkIGNyZWF0aW5nIGZ1bmN0aW9ucyB1bm5lY2Vzc2FyaWx5
IGluIGJ1aWx0aW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjI1MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBdm9pZCB1bm5lY2Vzc2FyeSBmdW5jdGlvbiBjcmVhdGlvbiBhbmQgbWFrZSB0aGVtIEBn
bG9iYWxQcml2YXRlLgorCisgICAgICAgICogYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanM6Cisg
ICAgICAgIChnbG9iYWxQcml2YXRlLm1heFdpdGhQb3NpdGl2ZXMpOgorICAgICAgICAoZ2xvYmFs
UHJpdmF0ZS5taW5XaXRoTWF5YmVOZWdhdGl2ZVplcm9BbmRQb3NpdGl2ZSk6CisgICAgICAgIChj
b3B5V2l0aGluKToKKyAgICAgICAgKG1heFdpdGhQb3NpdGl2ZXMpOiBEZWxldGVkLgorICAgICAg
ICAobWluV2l0aE1heWJlTmVnYXRpdmVaZXJvQW5kUG9zaXRpdmUpOiBEZWxldGVkLgorICAgICAg
ICAqIGJ1aWx0aW5zL0RhdGVQcm90b3R5cGUuanM6CisgICAgICAgIChnbG9iYWxQcml2YXRlLnRv
RGF0ZVRpbWVPcHRpb25zQW55QWxsKToKKyAgICAgICAgKHRvTG9jYWxlU3RyaW5nKToKKyAgICAg
ICAgKGdsb2JhbFByaXZhdGUudG9EYXRlVGltZU9wdGlvbnNEYXRlRGF0ZSk6CisgICAgICAgICh0
b0xvY2FsZURhdGVTdHJpbmcpOgorICAgICAgICAoZ2xvYmFsUHJpdmF0ZS50b0RhdGVUaW1lT3B0
aW9uc1RpbWVUaW1lKToKKyAgICAgICAgKHRvTG9jYWxlVGltZVN0cmluZyk6CisgICAgICAgICh0
b0xvY2FsZVN0cmluZy50b0RhdGVUaW1lT3B0aW9uc0FueUFsbCk6IERlbGV0ZWQuCisgICAgICAg
ICh0b0xvY2FsZURhdGVTdHJpbmcudG9EYXRlVGltZU9wdGlvbnNEYXRlRGF0ZSk6IERlbGV0ZWQu
CisgICAgICAgICh0b0xvY2FsZVRpbWVTdHJpbmcudG9EYXRlVGltZU9wdGlvbnNUaW1lVGltZSk6
IERlbGV0ZWQuCisgICAgICAgICogYnVpbHRpbnMvUmVnRXhwUHJvdG90eXBlLmpzOgorICAgICAg
ICAoZ2xvYmFsUHJpdmF0ZS5nZXRTdWJzdGl0dXRpb24pOgorICAgICAgICAob3ZlcnJpZGRlbk5h
bWUuc3RyaW5nX2FwcGVhcmVkX2hlcmUucmVwbGFjZSk6CisgICAgICAgIChnZXRTdWJzdGl0dXRp
b24pOiBEZWxldGVkLgorCiAyMDIxLTAyLTI2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbW92ZSBiYWQgYXNzZXJ0aW9uIG9mIEFJIEFycmF5TW9kZSBzdGF0
ZSBpbiB2YXJpb3VzICJieSB2YWwiIG9wY29kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9BcnJheVByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9BcnJheVByb3RvdHlwZS5qcwppbmRleCBhYWMxN2ZhODFiNDFkZjVmZDZhZTY3
MTIzZWY1ODEzMjA4MzM0NDA4Li5kZjZlMmUzODliZmI4ZTdhOGU5ODY3ODk2MTc2NzU0MjQwNThi
ZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQcm90
b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5UHJvdG90
eXBlLmpzCkBAIC01NTksMjggKzU1OSwzNCBAQCBmdW5jdGlvbiBjb25jYXQoZmlyc3QpCiAgICAg
cmV0dXJuIEB0YWlsQ2FsbEZvcndhcmRBcmd1bWVudHMoQGNvbmNhdFNsb3dQYXRoLCB0aGlzKTsK
IH0KIAotZnVuY3Rpb24gY29weVdpdGhpbih0YXJnZXQsIHN0YXJ0IC8qLCBlbmQgKi8pCitAZ2xv
YmFsUHJpdmF0ZQorZnVuY3Rpb24gbWF4V2l0aFBvc2l0aXZlcyhhLCBiKQogewogICAgICJ1c2Ug
c3RyaWN0IjsKIAotICAgIGZ1bmN0aW9uIG1heFdpdGhQb3NpdGl2ZXMoYSwgYikKLSAgICB7Ci0g
ICAgICAgIHJldHVybiAoYSA8IGIpID8gYiA6IGE7Ci0gICAgfQorICAgIHJldHVybiAoYSA8IGIp
ID8gYiA6IGE7Cit9CiAKLSAgICBmdW5jdGlvbiBtaW5XaXRoTWF5YmVOZWdhdGl2ZVplcm9BbmRQ
b3NpdGl2ZShtYXliZU5lZ2F0aXZlWmVybywgcG9zaXRpdmUpCi0gICAgewotICAgICAgICByZXR1
cm4gKG1heWJlTmVnYXRpdmVaZXJvIDwgcG9zaXRpdmUpID8gbWF5YmVOZWdhdGl2ZVplcm8gOiBw
b3NpdGl2ZTsKLSAgICB9CitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rpb24gbWluV2l0aE1heWJlTmVn
YXRpdmVaZXJvQW5kUG9zaXRpdmUobWF5YmVOZWdhdGl2ZVplcm8sIHBvc2l0aXZlKQoreworICAg
ICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVybiAobWF5YmVOZWdhdGl2ZVplcm8gPCBwb3NpdGl2
ZSkgPyBtYXliZU5lZ2F0aXZlWmVybyA6IHBvc2l0aXZlOworfQorCitmdW5jdGlvbiBjb3B5V2l0
aGluKHRhcmdldCwgc3RhcnQgLyosIGVuZCAqLykKK3sKKyAgICAidXNlIHN0cmljdCI7CiAKICAg
ICB2YXIgYXJyYXkgPSBAdG9PYmplY3QodGhpcywgIkFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGlu
IHJlcXVpcmVzIHRoYXQgfHRoaXN8IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpOwogICAgIHZh
ciBsZW5ndGggPSBAdG9MZW5ndGgoYXJyYXkubGVuZ3RoKTsKIAogICAgIHZhciByZWxhdGl2ZVRh
cmdldCA9IEB0b0ludGVnZXJPckluZmluaXR5KHRhcmdldCk7Ci0gICAgdmFyIHRvID0gKHJlbGF0
aXZlVGFyZ2V0IDwgMCkgPyBtYXhXaXRoUG9zaXRpdmVzKGxlbmd0aCArIHJlbGF0aXZlVGFyZ2V0
LCAwKSA6IG1pbldpdGhNYXliZU5lZ2F0aXZlWmVyb0FuZFBvc2l0aXZlKHJlbGF0aXZlVGFyZ2V0
LCBsZW5ndGgpOworICAgIHZhciB0byA9IChyZWxhdGl2ZVRhcmdldCA8IDApID8gQG1heFdpdGhQ
b3NpdGl2ZXMobGVuZ3RoICsgcmVsYXRpdmVUYXJnZXQsIDApIDogQG1pbldpdGhNYXliZU5lZ2F0
aXZlWmVyb0FuZFBvc2l0aXZlKHJlbGF0aXZlVGFyZ2V0LCBsZW5ndGgpOwogCiAgICAgdmFyIHJl
bGF0aXZlU3RhcnQgPSBAdG9JbnRlZ2VyT3JJbmZpbml0eShzdGFydCk7Ci0gICAgdmFyIGZyb20g
PSAocmVsYXRpdmVTdGFydCA8IDApID8gbWF4V2l0aFBvc2l0aXZlcyhsZW5ndGggKyByZWxhdGl2
ZVN0YXJ0LCAwKSA6IG1pbldpdGhNYXliZU5lZ2F0aXZlWmVyb0FuZFBvc2l0aXZlKHJlbGF0aXZl
U3RhcnQsIGxlbmd0aCk7CisgICAgdmFyIGZyb20gPSAocmVsYXRpdmVTdGFydCA8IDApID8gQG1h
eFdpdGhQb3NpdGl2ZXMobGVuZ3RoICsgcmVsYXRpdmVTdGFydCwgMCkgOiBAbWluV2l0aE1heWJl
TmVnYXRpdmVaZXJvQW5kUG9zaXRpdmUocmVsYXRpdmVTdGFydCwgbGVuZ3RoKTsKIAogICAgIHZh
ciByZWxhdGl2ZUVuZDsKICAgICB2YXIgZW5kID0gQGFyZ3VtZW50KDIpOwpAQCAtNTg5LDkgKzU5
NSw5IEBAIGZ1bmN0aW9uIG1pbldpdGhNYXliZU5lZ2F0aXZlWmVyb0FuZFBvc2l0aXZlKG1heWJl
TmVnYXRpdmVaZXJvLCBwb3NpdGl2ZSkKICAgICBlbHNlCiAgICAgICAgIHJlbGF0aXZlRW5kID0g
QHRvSW50ZWdlck9ySW5maW5pdHkoZW5kKTsKIAotICAgIHZhciBmaW5hbFZhbHVlID0gKHJlbGF0
aXZlRW5kIDwgMCkgPyBtYXhXaXRoUG9zaXRpdmVzKGxlbmd0aCArIHJlbGF0aXZlRW5kLCAwKSA6
IG1pbldpdGhNYXliZU5lZ2F0aXZlWmVyb0FuZFBvc2l0aXZlKHJlbGF0aXZlRW5kLCBsZW5ndGgp
OworICAgIHZhciBmaW5hbFZhbHVlID0gKHJlbGF0aXZlRW5kIDwgMCkgPyBAbWF4V2l0aFBvc2l0
aXZlcyhsZW5ndGggKyByZWxhdGl2ZUVuZCwgMCkgOiBAbWluV2l0aE1heWJlTmVnYXRpdmVaZXJv
QW5kUG9zaXRpdmUocmVsYXRpdmVFbmQsIGxlbmd0aCk7CiAKLSAgICB2YXIgY291bnQgPSBtaW5X
aXRoTWF5YmVOZWdhdGl2ZVplcm9BbmRQb3NpdGl2ZShmaW5hbFZhbHVlIC0gZnJvbSwgbGVuZ3Ro
IC0gdG8pOworICAgIHZhciBjb3VudCA9IEBtaW5XaXRoTWF5YmVOZWdhdGl2ZVplcm9BbmRQb3Np
dGl2ZShmaW5hbFZhbHVlIC0gZnJvbSwgbGVuZ3RoIC0gdG8pOwogCiAgICAgdmFyIGRpcmVjdGlv
biA9IDE7CiAgICAgaWYgKGZyb20gPCB0byAmJiB0byA8IGZyb20gKyBjb3VudCkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0RhdGVQcm90b3R5cGUuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvRGF0ZVByb3RvdHlwZS5qcwppbmRleCAzMDBm
YTJhMWMwYTk3NmExYTJhYzRiZDlhZGJkMjA3NzM5ZGUwZmZkLi42YzAzYjEwNjQ5Njk1ZDJhN2E0
MjZlMTI2ODcxZTc1ZjM1Yjg5ZTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvRGF0ZVByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvRGF0ZVByb3RvdHlwZS5qcwpAQCAtMjMsNTggKzIzLDYxIEBACiAgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogICovCiAKLWZ1bmN0aW9uIHRvTG9jYWxlU3RyaW5nKC8qIGxvY2FsZXMsIG9wdGlvbnMgKi8p
CitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rpb24gdG9EYXRlVGltZU9wdGlvbnNBbnlBbGwob3B0cykK
IHsKICAgICAidXNlIHN0cmljdCI7CiAKLSAgICBmdW5jdGlvbiB0b0RhdGVUaW1lT3B0aW9uc0Fu
eUFsbChvcHRzKQotICAgIHsKLSAgICAgICAgLy8gVG9EYXRlVGltZU9wdGlvbnMob3B0aW9ucywg
ImFueSIsICJhbGwiKQotICAgICAgICAvLyBodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5v
cmcvZWNtYS00MDIvMi4wLyNzZWMtSW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0Ci0KLSAgICAgICAg
dmFyIG9wdGlvbnM7Ci0gICAgICAgIGlmIChvcHRzID09PSBAdW5kZWZpbmVkKQotICAgICAgICAg
ICAgb3B0aW9ucyA9IG51bGw7Ci0gICAgICAgIGVsc2UgaWYgKG9wdHMgPT09IG51bGwpCi0gICAg
ICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIm51bGwgaXMgbm90IGFuIG9iamVjdCIpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBvcHRpb25zID0gQHRvT2JqZWN0KG9wdHMpOwotCi0gICAgICAg
IC8vIENoZWNrIG9yaWdpbmFsIGluc3RlYWQgb2YgZGVzY2VuZGFudCB0byByZWR1Y2UgbG9va3Vw
cyB1cCB0aGUgcHJvdG90eXBlIGNoYWluLgotICAgICAgICB2YXIgbmVlZHNEZWZhdWx0cyA9ICFv
cHRpb25zIHx8ICgKLSAgICAgICAgICAgIG9wdGlvbnMud2Vla2RheSA9PT0gQHVuZGVmaW5lZCAm
JgotICAgICAgICAgICAgb3B0aW9ucy55ZWFyID09PSBAdW5kZWZpbmVkICYmCi0gICAgICAgICAg
ICBvcHRpb25zLm1vbnRoID09PSBAdW5kZWZpbmVkICYmCi0gICAgICAgICAgICBvcHRpb25zLmRh
eSA9PT0gQHVuZGVmaW5lZCAmJgotICAgICAgICAgICAgKCFAdXNlSW50bERhdGVUaW1lRm9ybWF0
RGF5UGVyaW9kIHx8IG9wdGlvbnMuZGF5UGVyaW9kID09PSBAdW5kZWZpbmVkKSAmJgotICAgICAg
ICAgICAgb3B0aW9ucy5ob3VyID09PSBAdW5kZWZpbmVkICYmCi0gICAgICAgICAgICBvcHRpb25z
Lm1pbnV0ZSA9PT0gQHVuZGVmaW5lZCAmJgotICAgICAgICAgICAgb3B0aW9ucy5zZWNvbmQgPT09
IEB1bmRlZmluZWQgJiYKLSAgICAgICAgICAgIG9wdGlvbnMuZnJhY3Rpb25hbFNlY29uZERpZ2l0
cyA9PT0gQHVuZGVmaW5lZAotICAgICAgICApOwotCi0gICAgICAgIGlmIChvcHRpb25zKSB7Ci0g
ICAgICAgICAgICB2YXIgZGF0ZVN0eWxlID0gb3B0aW9ucy5kYXRlU3R5bGU7Ci0gICAgICAgICAg
ICB2YXIgdGltZVN0eWxlID0gb3B0aW9ucy50aW1lU3R5bGU7Ci0gICAgICAgICAgICBpZiAoZGF0
ZVN0eWxlICE9PSBAdW5kZWZpbmVkIHx8IHRpbWVTdHlsZSAhPT0gQHVuZGVmaW5lZCkKLSAgICAg
ICAgICAgICAgICBuZWVkc0RlZmF1bHRzID0gZmFsc2U7Ci0gICAgICAgIH0KLQotICAgICAgICAv
LyBPbmx5IGNyZWF0ZSBkZXNjZW5kYW50IGlmIGl0IHdpbGwgaGF2ZSBvd24gcHJvcGVydGllcy4K
LSAgICAgICAgaWYgKG5lZWRzRGVmYXVsdHMpIHsKLSAgICAgICAgICAgIG9wdGlvbnMgPSBAT2Jq
ZWN0LkBjcmVhdGUob3B0aW9ucyk7Ci0gICAgICAgICAgICBvcHRpb25zLnllYXIgPSAibnVtZXJp
YyI7Ci0gICAgICAgICAgICBvcHRpb25zLm1vbnRoID0gIm51bWVyaWMiOwotICAgICAgICAgICAg
b3B0aW9ucy5kYXkgPSAibnVtZXJpYyI7Ci0gICAgICAgICAgICBvcHRpb25zLmhvdXIgPSAibnVt
ZXJpYyI7Ci0gICAgICAgICAgICBvcHRpb25zLm1pbnV0ZSA9ICJudW1lcmljIjsKLSAgICAgICAg
ICAgIG9wdGlvbnMuc2Vjb25kID0gIm51bWVyaWMiOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8g
OS4gUmV0dXJuIG9wdGlvbnMuCi0gICAgICAgIHJldHVybiBvcHRpb25zOworICAgIC8vIFRvRGF0
ZVRpbWVPcHRpb25zKG9wdGlvbnMsICJhbnkiLCAiYWxsIikKKyAgICAvLyBodHRwOi8vd3d3LmVj
bWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS00MDIvMi4wLyNzZWMtSW5pdGlhbGl6ZURhdGVUaW1l
Rm9ybWF0CisKKyAgICB2YXIgb3B0aW9uczsKKyAgICBpZiAob3B0cyA9PT0gQHVuZGVmaW5lZCkK
KyAgICAgICAgb3B0aW9ucyA9IG51bGw7CisgICAgZWxzZSBpZiAob3B0cyA9PT0gbnVsbCkKKyAg
ICAgICAgQHRocm93VHlwZUVycm9yKCJudWxsIGlzIG5vdCBhbiBvYmplY3QiKTsKKyAgICBlbHNl
CisgICAgICAgIG9wdGlvbnMgPSBAdG9PYmplY3Qob3B0cyk7CisKKyAgICAvLyBDaGVjayBvcmln
aW5hbCBpbnN0ZWFkIG9mIGRlc2NlbmRhbnQgdG8gcmVkdWNlIGxvb2t1cHMgdXAgdGhlIHByb3Rv
dHlwZSBjaGFpbi4KKyAgICB2YXIgbmVlZHNEZWZhdWx0cyA9ICFvcHRpb25zIHx8ICgKKyAgICAg
ICAgb3B0aW9ucy53ZWVrZGF5ID09PSBAdW5kZWZpbmVkICYmCisgICAgICAgIG9wdGlvbnMueWVh
ciA9PT0gQHVuZGVmaW5lZCAmJgorICAgICAgICBvcHRpb25zLm1vbnRoID09PSBAdW5kZWZpbmVk
ICYmCisgICAgICAgIG9wdGlvbnMuZGF5ID09PSBAdW5kZWZpbmVkICYmCisgICAgICAgICghQHVz
ZUludGxEYXRlVGltZUZvcm1hdERheVBlcmlvZCB8fCBvcHRpb25zLmRheVBlcmlvZCA9PT0gQHVu
ZGVmaW5lZCkgJiYKKyAgICAgICAgb3B0aW9ucy5ob3VyID09PSBAdW5kZWZpbmVkICYmCisgICAg
ICAgIG9wdGlvbnMubWludXRlID09PSBAdW5kZWZpbmVkICYmCisgICAgICAgIG9wdGlvbnMuc2Vj
b25kID09PSBAdW5kZWZpbmVkICYmCisgICAgICAgIG9wdGlvbnMuZnJhY3Rpb25hbFNlY29uZERp
Z2l0cyA9PT0gQHVuZGVmaW5lZAorICAgICk7CisKKyAgICBpZiAob3B0aW9ucykgeworICAgICAg
ICB2YXIgZGF0ZVN0eWxlID0gb3B0aW9ucy5kYXRlU3R5bGU7CisgICAgICAgIHZhciB0aW1lU3R5
bGUgPSBvcHRpb25zLnRpbWVTdHlsZTsKKyAgICAgICAgaWYgKGRhdGVTdHlsZSAhPT0gQHVuZGVm
aW5lZCB8fCB0aW1lU3R5bGUgIT09IEB1bmRlZmluZWQpCisgICAgICAgICAgICBuZWVkc0RlZmF1
bHRzID0gZmFsc2U7CisgICAgfQorCisgICAgLy8gT25seSBjcmVhdGUgZGVzY2VuZGFudCBpZiBp
dCB3aWxsIGhhdmUgb3duIHByb3BlcnRpZXMuCisgICAgaWYgKG5lZWRzRGVmYXVsdHMpIHsKKyAg
ICAgICAgb3B0aW9ucyA9IEBPYmplY3QuQGNyZWF0ZShvcHRpb25zKTsKKyAgICAgICAgb3B0aW9u
cy55ZWFyID0gIm51bWVyaWMiOworICAgICAgICBvcHRpb25zLm1vbnRoID0gIm51bWVyaWMiOwor
ICAgICAgICBvcHRpb25zLmRheSA9ICJudW1lcmljIjsKKyAgICAgICAgb3B0aW9ucy5ob3VyID0g
Im51bWVyaWMiOworICAgICAgICBvcHRpb25zLm1pbnV0ZSA9ICJudW1lcmljIjsKKyAgICAgICAg
b3B0aW9ucy5zZWNvbmQgPSAibnVtZXJpYyI7CiAgICAgfQogCisgICAgLy8gOS4gUmV0dXJuIG9w
dGlvbnMuCisgICAgcmV0dXJuIG9wdGlvbnM7Cit9CisKK2Z1bmN0aW9uIHRvTG9jYWxlU3RyaW5n
KC8qIGxvY2FsZXMsIG9wdGlvbnMgKi8pCit7CisgICAgInVzZSBzdHJpY3QiOworCiAgICAgLy8g
MTMuMy4xIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIChbbG9jYWxlcyBbLCBvcHRpb25z
IF1dKSAoRUNNQS00MDIgMi4wKQogICAgIC8vIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFs
Lm9yZy9lY21hLTQwMi8yLjAvI3NlYy1EYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZwogCkBA
IC04Miw1NiArODUsNTkgQEAgZWxzZSBpZiAob3B0cyA9PT0gbnVsbCkKICAgICBpZiAoQGlzTmFO
KHZhbHVlKSkKICAgICAgICAgcmV0dXJuICJJbnZhbGlkIERhdGUiOwogCi0gICAgdmFyIG9wdGlv
bnMgPSB0b0RhdGVUaW1lT3B0aW9uc0FueUFsbChAYXJndW1lbnQoMSkpOworICAgIHZhciBvcHRp
b25zID0gQHRvRGF0ZVRpbWVPcHRpb25zQW55QWxsKEBhcmd1bWVudCgxKSk7CiAgICAgdmFyIGxv
Y2FsZXMgPSBAYXJndW1lbnQoMCk7CiAgICAgcmV0dXJuIEBkYXRlVGltZUZvcm1hdChsb2NhbGVz
LCBvcHRpb25zLCB2YWx1ZSk7CiB9CiAKLWZ1bmN0aW9uIHRvTG9jYWxlRGF0ZVN0cmluZygvKiBs
b2NhbGVzLCBvcHRpb25zICovKQorQGdsb2JhbFByaXZhdGUKK2Z1bmN0aW9uIHRvRGF0ZVRpbWVP
cHRpb25zRGF0ZURhdGUob3B0cykKIHsKICAgICAidXNlIHN0cmljdCI7CiAKLSAgICBmdW5jdGlv
biB0b0RhdGVUaW1lT3B0aW9uc0RhdGVEYXRlKG9wdHMpCi0gICAgewotICAgICAgICAvLyBUb0Rh
dGVUaW1lT3B0aW9ucyhvcHRpb25zLCAiZGF0ZSIsICJkYXRlIikKLSAgICAgICAgLy8gaHR0cDov
L3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtNDAyLzIuMC8jc2VjLUluaXRpYWxpemVE
YXRlVGltZUZvcm1hdAotCi0gICAgICAgIHZhciBvcHRpb25zOwotICAgICAgICBpZiAob3B0cyA9
PT0gQHVuZGVmaW5lZCkKLSAgICAgICAgICAgIG9wdGlvbnMgPSBudWxsOwotICAgICAgICBlbHNl
IGlmIChvcHRzID09PSBudWxsKQotICAgICAgICAgICAgQHRocm93VHlwZUVycm9yKCJudWxsIGlz
IG5vdCBhbiBvYmplY3QiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgb3B0aW9ucyA9IEB0
b09iamVjdChvcHRzKTsKLQotICAgICAgICAvLyBDaGVjayBvcmlnaW5hbCBpbnN0ZWFkIG9mIGRl
c2NlbmRhbnQgdG8gcmVkdWNlIGxvb2t1cHMgdXAgdGhlIHByb3RvdHlwZSBjaGFpbi4KLSAgICAg
ICAgdmFyIG5lZWRzRGVmYXVsdHMgPSAhb3B0aW9ucyB8fCAoCi0gICAgICAgICAgICBvcHRpb25z
LndlZWtkYXkgPT09IEB1bmRlZmluZWQgJiYKLSAgICAgICAgICAgIG9wdGlvbnMueWVhciA9PT0g
QHVuZGVmaW5lZCAmJgotICAgICAgICAgICAgb3B0aW9ucy5tb250aCA9PT0gQHVuZGVmaW5lZCAm
JgotICAgICAgICAgICAgb3B0aW9ucy5kYXkgPT09IEB1bmRlZmluZWQKLSAgICAgICAgKTsKLQot
ICAgICAgICBpZiAob3B0aW9ucykgewotICAgICAgICAgICAgdmFyIGRhdGVTdHlsZSA9IG9wdGlv
bnMuZGF0ZVN0eWxlOwotICAgICAgICAgICAgdmFyIHRpbWVTdHlsZSA9IG9wdGlvbnMudGltZVN0
eWxlOwotICAgICAgICAgICAgaWYgKHRpbWVTdHlsZSAhPT0gQHVuZGVmaW5lZCkKLSAgICAgICAg
ICAgICAgICBAdGhyb3dUeXBlRXJyb3IoInRpbWVTdHlsZSBjYW5ub3QgYmUgc3BlY2lmaWVkIik7
Ci0gICAgICAgICAgICBpZiAoZGF0ZVN0eWxlICE9PSBAdW5kZWZpbmVkKQotICAgICAgICAgICAg
ICAgIG5lZWRzRGVmYXVsdHMgPSBmYWxzZTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIE9ubHkg
Y3JlYXRlIGRlc2NlbmRhbnQgaWYgaXQgd2lsbCBoYXZlIG93biBwcm9wZXJ0aWVzLgotICAgICAg
ICBpZiAobmVlZHNEZWZhdWx0cykgewotICAgICAgICAgICAgb3B0aW9ucyA9IEBPYmplY3QuQGNy
ZWF0ZShvcHRpb25zKTsKLSAgICAgICAgICAgIG9wdGlvbnMueWVhciA9ICJudW1lcmljIjsKLSAg
ICAgICAgICAgIG9wdGlvbnMubW9udGggPSAibnVtZXJpYyI7Ci0gICAgICAgICAgICBvcHRpb25z
LmRheSA9ICJudW1lcmljIjsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBvcHRpb25zOwor
ICAgIC8vIFRvRGF0ZVRpbWVPcHRpb25zKG9wdGlvbnMsICJkYXRlIiwgImRhdGUiKQorICAgIC8v
IGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTQwMi8yLjAvI3NlYy1Jbml0
aWFsaXplRGF0ZVRpbWVGb3JtYXQKKworICAgIHZhciBvcHRpb25zOworICAgIGlmIChvcHRzID09
PSBAdW5kZWZpbmVkKQorICAgICAgICBvcHRpb25zID0gbnVsbDsKKyAgICBlbHNlIGlmIChvcHRz
ID09PSBudWxsKQorICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIm51bGwgaXMgbm90IGFuIG9iamVj
dCIpOworICAgIGVsc2UKKyAgICAgICAgb3B0aW9ucyA9IEB0b09iamVjdChvcHRzKTsKKworICAg
IC8vIENoZWNrIG9yaWdpbmFsIGluc3RlYWQgb2YgZGVzY2VuZGFudCB0byByZWR1Y2UgbG9va3Vw
cyB1cCB0aGUgcHJvdG90eXBlIGNoYWluLgorICAgIHZhciBuZWVkc0RlZmF1bHRzID0gIW9wdGlv
bnMgfHwgKAorICAgICAgICBvcHRpb25zLndlZWtkYXkgPT09IEB1bmRlZmluZWQgJiYKKyAgICAg
ICAgb3B0aW9ucy55ZWFyID09PSBAdW5kZWZpbmVkICYmCisgICAgICAgIG9wdGlvbnMubW9udGgg
PT09IEB1bmRlZmluZWQgJiYKKyAgICAgICAgb3B0aW9ucy5kYXkgPT09IEB1bmRlZmluZWQKKyAg
ICApOworCisgICAgaWYgKG9wdGlvbnMpIHsKKyAgICAgICAgdmFyIGRhdGVTdHlsZSA9IG9wdGlv
bnMuZGF0ZVN0eWxlOworICAgICAgICB2YXIgdGltZVN0eWxlID0gb3B0aW9ucy50aW1lU3R5bGU7
CisgICAgICAgIGlmICh0aW1lU3R5bGUgIT09IEB1bmRlZmluZWQpCisgICAgICAgICAgICBAdGhy
b3dUeXBlRXJyb3IoInRpbWVTdHlsZSBjYW5ub3QgYmUgc3BlY2lmaWVkIik7CisgICAgICAgIGlm
IChkYXRlU3R5bGUgIT09IEB1bmRlZmluZWQpCisgICAgICAgICAgICBuZWVkc0RlZmF1bHRzID0g
ZmFsc2U7CiAgICAgfQogCisgICAgLy8gT25seSBjcmVhdGUgZGVzY2VuZGFudCBpZiBpdCB3aWxs
IGhhdmUgb3duIHByb3BlcnRpZXMuCisgICAgaWYgKG5lZWRzRGVmYXVsdHMpIHsKKyAgICAgICAg
b3B0aW9ucyA9IEBPYmplY3QuQGNyZWF0ZShvcHRpb25zKTsKKyAgICAgICAgb3B0aW9ucy55ZWFy
ID0gIm51bWVyaWMiOworICAgICAgICBvcHRpb25zLm1vbnRoID0gIm51bWVyaWMiOworICAgICAg
ICBvcHRpb25zLmRheSA9ICJudW1lcmljIjsKKyAgICB9CisKKyAgICByZXR1cm4gb3B0aW9uczsK
K30KKworZnVuY3Rpb24gdG9Mb2NhbGVEYXRlU3RyaW5nKC8qIGxvY2FsZXMsIG9wdGlvbnMgKi8p
Cit7CisgICAgInVzZSBzdHJpY3QiOworCiAgICAgLy8gMTMuMy4yIERhdGUucHJvdG90eXBlLnRv
TG9jYWxlRGF0ZVN0cmluZyAoW2xvY2FsZXMgWywgb3B0aW9ucyBdXSkgKEVDTUEtNDAyIDIuMCkK
ICAgICAvLyBodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS00MDIvMi4wLyNz
ZWMtRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nCiAKQEAgLTEzOSw1NyArMTQ1LDYw
IEBAIGVsc2UgaWYgKG9wdHMgPT09IG51bGwpCiAgICAgaWYgKEBpc05hTih2YWx1ZSkpCiAgICAg
ICAgIHJldHVybiAiSW52YWxpZCBEYXRlIjsKIAotICAgIHZhciBvcHRpb25zID0gdG9EYXRlVGlt
ZU9wdGlvbnNEYXRlRGF0ZShAYXJndW1lbnQoMSkpOworICAgIHZhciBvcHRpb25zID0gQHRvRGF0
ZVRpbWVPcHRpb25zRGF0ZURhdGUoQGFyZ3VtZW50KDEpKTsKICAgICB2YXIgbG9jYWxlcyA9IEBh
cmd1bWVudCgwKTsKICAgICByZXR1cm4gQGRhdGVUaW1lRm9ybWF0KGxvY2FsZXMsIG9wdGlvbnMs
IHZhbHVlKTsKIH0KIAotZnVuY3Rpb24gdG9Mb2NhbGVUaW1lU3RyaW5nKC8qIGxvY2FsZXMsIG9w
dGlvbnMgKi8pCitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rpb24gdG9EYXRlVGltZU9wdGlvbnNUaW1l
VGltZShvcHRzKQogewogICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgIGZ1bmN0aW9uIHRvRGF0ZVRp
bWVPcHRpb25zVGltZVRpbWUob3B0cykKLSAgICB7Ci0gICAgICAgIC8vIFRvRGF0ZVRpbWVPcHRp
b25zKG9wdGlvbnMsICJ0aW1lIiwgInRpbWUiKQotICAgICAgICAvLyBodHRwOi8vd3d3LmVjbWEt
aW50ZXJuYXRpb25hbC5vcmcvZWNtYS00MDIvMi4wLyNzZWMtSW5pdGlhbGl6ZURhdGVUaW1lRm9y
bWF0Ci0KLSAgICAgICAgdmFyIG9wdGlvbnM7Ci0gICAgICAgIGlmIChvcHRzID09PSBAdW5kZWZp
bmVkKQotICAgICAgICAgICAgb3B0aW9ucyA9IG51bGw7Ci0gICAgICAgIGVsc2UgaWYgKG9wdHMg
PT09IG51bGwpCi0gICAgICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIm51bGwgaXMgbm90IGFuIG9i
amVjdCIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBvcHRpb25zID0gQHRvT2JqZWN0KG9w
dHMpOwotCi0gICAgICAgIC8vIENoZWNrIG9yaWdpbmFsIGluc3RlYWQgb2YgZGVzY2VuZGFudCB0
byByZWR1Y2UgbG9va3VwcyB1cCB0aGUgcHJvdG90eXBlIGNoYWluLgotICAgICAgICB2YXIgbmVl
ZHNEZWZhdWx0cyA9ICFvcHRpb25zIHx8ICgKLSAgICAgICAgICAgICghQHVzZUludGxEYXRlVGlt
ZUZvcm1hdERheVBlcmlvZCB8fCBvcHRpb25zLmRheVBlcmlvZCA9PT0gQHVuZGVmaW5lZCkgJiYK
LSAgICAgICAgICAgIG9wdGlvbnMuaG91ciA9PT0gQHVuZGVmaW5lZCAmJgotICAgICAgICAgICAg
b3B0aW9ucy5taW51dGUgPT09IEB1bmRlZmluZWQgJiYKLSAgICAgICAgICAgIG9wdGlvbnMuc2Vj
b25kID09PSBAdW5kZWZpbmVkICYmCi0gICAgICAgICAgICBvcHRpb25zLmZyYWN0aW9uYWxTZWNv
bmREaWdpdHMgPT09IEB1bmRlZmluZWQKLSAgICAgICAgKTsKLQotICAgICAgICBpZiAob3B0aW9u
cykgewotICAgICAgICAgICAgdmFyIGRhdGVTdHlsZSA9IG9wdGlvbnMuZGF0ZVN0eWxlOwotICAg
ICAgICAgICAgdmFyIHRpbWVTdHlsZSA9IG9wdGlvbnMudGltZVN0eWxlOwotICAgICAgICAgICAg
aWYgKGRhdGVTdHlsZSAhPT0gQHVuZGVmaW5lZCkKLSAgICAgICAgICAgICAgICBAdGhyb3dUeXBl
RXJyb3IoImRhdGVTdHlsZSBjYW5ub3QgYmUgc3BlY2lmaWVkIik7Ci0gICAgICAgICAgICBpZiAo
dGltZVN0eWxlICE9PSBAdW5kZWZpbmVkKQotICAgICAgICAgICAgICAgIG5lZWRzRGVmYXVsdHMg
PSBmYWxzZTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIE9ubHkgY3JlYXRlIGRlc2NlbmRhbnQg
aWYgaXQgd2lsbCBoYXZlIG93biBwcm9wZXJ0aWVzLgotICAgICAgICBpZiAobmVlZHNEZWZhdWx0
cykgewotICAgICAgICAgICAgb3B0aW9ucyA9IEBPYmplY3QuQGNyZWF0ZShvcHRpb25zKTsKLSAg
ICAgICAgICAgIG9wdGlvbnMuaG91ciA9ICJudW1lcmljIjsKLSAgICAgICAgICAgIG9wdGlvbnMu
bWludXRlID0gIm51bWVyaWMiOwotICAgICAgICAgICAgb3B0aW9ucy5zZWNvbmQgPSAibnVtZXJp
YyI7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gb3B0aW9uczsKKyAgICAvLyBUb0RhdGVU
aW1lT3B0aW9ucyhvcHRpb25zLCAidGltZSIsICJ0aW1lIikKKyAgICAvLyBodHRwOi8vd3d3LmVj
bWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS00MDIvMi4wLyNzZWMtSW5pdGlhbGl6ZURhdGVUaW1l
Rm9ybWF0CisKKyAgICB2YXIgb3B0aW9uczsKKyAgICBpZiAob3B0cyA9PT0gQHVuZGVmaW5lZCkK
KyAgICAgICAgb3B0aW9ucyA9IG51bGw7CisgICAgZWxzZSBpZiAob3B0cyA9PT0gbnVsbCkKKyAg
ICAgICAgQHRocm93VHlwZUVycm9yKCJudWxsIGlzIG5vdCBhbiBvYmplY3QiKTsKKyAgICBlbHNl
CisgICAgICAgIG9wdGlvbnMgPSBAdG9PYmplY3Qob3B0cyk7CisKKyAgICAvLyBDaGVjayBvcmln
aW5hbCBpbnN0ZWFkIG9mIGRlc2NlbmRhbnQgdG8gcmVkdWNlIGxvb2t1cHMgdXAgdGhlIHByb3Rv
dHlwZSBjaGFpbi4KKyAgICB2YXIgbmVlZHNEZWZhdWx0cyA9ICFvcHRpb25zIHx8ICgKKyAgICAg
ICAgKCFAdXNlSW50bERhdGVUaW1lRm9ybWF0RGF5UGVyaW9kIHx8IG9wdGlvbnMuZGF5UGVyaW9k
ID09PSBAdW5kZWZpbmVkKSAmJgorICAgICAgICBvcHRpb25zLmhvdXIgPT09IEB1bmRlZmluZWQg
JiYKKyAgICAgICAgb3B0aW9ucy5taW51dGUgPT09IEB1bmRlZmluZWQgJiYKKyAgICAgICAgb3B0
aW9ucy5zZWNvbmQgPT09IEB1bmRlZmluZWQgJiYKKyAgICAgICAgb3B0aW9ucy5mcmFjdGlvbmFs
U2Vjb25kRGlnaXRzID09PSBAdW5kZWZpbmVkCisgICAgKTsKKworICAgIGlmIChvcHRpb25zKSB7
CisgICAgICAgIHZhciBkYXRlU3R5bGUgPSBvcHRpb25zLmRhdGVTdHlsZTsKKyAgICAgICAgdmFy
IHRpbWVTdHlsZSA9IG9wdGlvbnMudGltZVN0eWxlOworICAgICAgICBpZiAoZGF0ZVN0eWxlICE9
PSBAdW5kZWZpbmVkKQorICAgICAgICAgICAgQHRocm93VHlwZUVycm9yKCJkYXRlU3R5bGUgY2Fu
bm90IGJlIHNwZWNpZmllZCIpOworICAgICAgICBpZiAodGltZVN0eWxlICE9PSBAdW5kZWZpbmVk
KQorICAgICAgICAgICAgbmVlZHNEZWZhdWx0cyA9IGZhbHNlOworICAgIH0KKworICAgIC8vIE9u
bHkgY3JlYXRlIGRlc2NlbmRhbnQgaWYgaXQgd2lsbCBoYXZlIG93biBwcm9wZXJ0aWVzLgorICAg
IGlmIChuZWVkc0RlZmF1bHRzKSB7CisgICAgICAgIG9wdGlvbnMgPSBAT2JqZWN0LkBjcmVhdGUo
b3B0aW9ucyk7CisgICAgICAgIG9wdGlvbnMuaG91ciA9ICJudW1lcmljIjsKKyAgICAgICAgb3B0
aW9ucy5taW51dGUgPSAibnVtZXJpYyI7CisgICAgICAgIG9wdGlvbnMuc2Vjb25kID0gIm51bWVy
aWMiOwogICAgIH0KIAorICAgIHJldHVybiBvcHRpb25zOworfQorCitmdW5jdGlvbiB0b0xvY2Fs
ZVRpbWVTdHJpbmcoLyogbG9jYWxlcywgb3B0aW9ucyAqLykKK3sKKyAgICAidXNlIHN0cmljdCI7
CisKICAgICAvLyAxMy4zLjMgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIChbbG9j
YWxlcyBbLCBvcHRpb25zIF1dKSAoRUNNQS00MDIgMi4wKQogICAgIC8vIGh0dHA6Ly93d3cuZWNt
YS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTQwMi8yLjAvI3NlYy1EYXRlLnByb3RvdHlwZS50b0xv
Y2FsZVRpbWVTdHJpbmcKIApAQCAtMTk3LDcgKzIwNiw3IEBAIGVsc2UgaWYgKG9wdHMgPT09IG51
bGwpCiAgICAgaWYgKEBpc05hTih2YWx1ZSkpCiAgICAgICAgIHJldHVybiAiSW52YWxpZCBEYXRl
IjsKIAotICAgIHZhciBvcHRpb25zID0gdG9EYXRlVGltZU9wdGlvbnNUaW1lVGltZShAYXJndW1l
bnQoMSkpOworICAgIHZhciBvcHRpb25zID0gQHRvRGF0ZVRpbWVPcHRpb25zVGltZVRpbWUoQGFy
Z3VtZW50KDEpKTsKICAgICB2YXIgbG9jYWxlcyA9IEBhcmd1bWVudCgwKTsKICAgICByZXR1cm4g
QGRhdGVUaW1lRm9ybWF0KGxvY2FsZXMsIG9wdGlvbnMsIHZhbHVlKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9SZWdFeHBQcm90b3R5cGUuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUmVnRXhwUHJvdG90eXBlLmpzCmluZGV4IGU5ZTU5
YzQ5M2JlZmE0ODIzZDY4NmIyZGU2NTdiZDIzMGEwMGRlMTQuLjM2MDgxMWMxYWYwNjQxYzIzMzkw
NzJhYjE4M2NiNTJjYzBjMjgyOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9SZWdFeHBQcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL1JlZ0V4cFByb3RvdHlwZS5qcwpAQCAtMTc0LDExMCArMTc0LDExMSBAQCBmdW5jdGlv
biBtYXRjaEFsbChzdHJBcmcpCiAgICAgcmV0dXJuIG5ldyBAUmVnRXhwU3RyaW5nSXRlcmF0b3Io
bWF0Y2hlciwgc3RyaW5nLCBnbG9iYWwsIGZ1bGxVbmljb2RlKTsKIH0KIAotQG92ZXJyaWRkZW5O
YW1lPSJbU3ltYm9sLnJlcGxhY2VdIgotZnVuY3Rpb24gcmVwbGFjZShzdHJBcmcsIHJlcGxhY2Up
CitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rpb24gZ2V0U3Vic3RpdHV0aW9uKG1hdGNoZWQsIHN0ciwg
cG9zaXRpb24sIGNhcHR1cmVzLCBuYW1lZENhcHR1cmVzLCByZXBsYWNlbWVudCkKIHsKICAgICAi
dXNlIHN0cmljdCI7CiAKLSAgICBmdW5jdGlvbiBnZXRTdWJzdGl0dXRpb24obWF0Y2hlZCwgc3Ry
LCBwb3NpdGlvbiwgY2FwdHVyZXMsIG5hbWVkQ2FwdHVyZXMsIHJlcGxhY2VtZW50KQotICAgIHsK
LSAgICAgICAgInVzZSBzdHJpY3QiOwotCi0gICAgICAgIHZhciBtYXRjaExlbmd0aCA9IG1hdGNo
ZWQubGVuZ3RoOwotICAgICAgICB2YXIgc3RyaW5nTGVuZ3RoID0gc3RyLmxlbmd0aDsKLSAgICAg
ICAgdmFyIHRhaWxQb3MgPSBwb3NpdGlvbiArIG1hdGNoTGVuZ3RoOwotICAgICAgICB2YXIgbSA9
IGNhcHR1cmVzLmxlbmd0aDsKLSAgICAgICAgdmFyIHJlcGxhY2VtZW50TGVuZ3RoID0gcmVwbGFj
ZW1lbnQubGVuZ3RoOwotICAgICAgICB2YXIgcmVzdWx0ID0gIiI7Ci0gICAgICAgIHZhciBsYXN0
U3RhcnQgPSAwOwotCi0gICAgICAgIGZvciAodmFyIHN0YXJ0ID0gMDsgc3RhcnQgPSBAc3RyaW5n
SW5kZXhPZkludGVybmFsLkBjYWxsKHJlcGxhY2VtZW50LCAiJCIsIGxhc3RTdGFydCksIHN0YXJ0
ICE9PSAtMTsgbGFzdFN0YXJ0ID0gc3RhcnQpIHsKLSAgICAgICAgICAgIGlmIChzdGFydCAtIGxh
c3RTdGFydCA+IDApCi0gICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgQHN0cmluZ1N1
YnN0cmluZ0ludGVybmFsLkBjYWxsKHJlcGxhY2VtZW50LCBsYXN0U3RhcnQsIHN0YXJ0KTsKLSAg
ICAgICAgICAgIHN0YXJ0Kys7Ci0gICAgICAgICAgICBpZiAoc3RhcnQgPj0gcmVwbGFjZW1lbnRM
ZW5ndGgpCisgICAgdmFyIG1hdGNoTGVuZ3RoID0gbWF0Y2hlZC5sZW5ndGg7CisgICAgdmFyIHN0
cmluZ0xlbmd0aCA9IHN0ci5sZW5ndGg7CisgICAgdmFyIHRhaWxQb3MgPSBwb3NpdGlvbiArIG1h
dGNoTGVuZ3RoOworICAgIHZhciBtID0gY2FwdHVyZXMubGVuZ3RoOworICAgIHZhciByZXBsYWNl
bWVudExlbmd0aCA9IHJlcGxhY2VtZW50Lmxlbmd0aDsKKyAgICB2YXIgcmVzdWx0ID0gIiI7Cisg
ICAgdmFyIGxhc3RTdGFydCA9IDA7CisKKyAgICBmb3IgKHZhciBzdGFydCA9IDA7IHN0YXJ0ID0g
QHN0cmluZ0luZGV4T2ZJbnRlcm5hbC5AY2FsbChyZXBsYWNlbWVudCwgIiQiLCBsYXN0U3RhcnQp
LCBzdGFydCAhPT0gLTE7IGxhc3RTdGFydCA9IHN0YXJ0KSB7CisgICAgICAgIGlmIChzdGFydCAt
IGxhc3RTdGFydCA+IDApCisgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQgKyBAc3RyaW5nU3Vi
c3RyaW5nSW50ZXJuYWwuQGNhbGwocmVwbGFjZW1lbnQsIGxhc3RTdGFydCwgc3RhcnQpOworICAg
ICAgICBzdGFydCsrOworICAgICAgICBpZiAoc3RhcnQgPj0gcmVwbGFjZW1lbnRMZW5ndGgpCisg
ICAgICAgICAgICByZXN1bHQgPSByZXN1bHQgKyAiJCI7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgdmFyIGNoID0gcmVwbGFjZW1lbnRbc3RhcnRdOworICAgICAgICAgICAgc3dpdGNoIChj
aCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgIGNhc2UgIiQiOgogICAgICAgICAgICAgICAg
IHJlc3VsdCA9IHJlc3VsdCArICIkIjsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAg
ICAgIHZhciBjaCA9IHJlcGxhY2VtZW50W3N0YXJ0XTsKLSAgICAgICAgICAgICAgICBzd2l0Y2gg
KGNoKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjYXNlICIkIjoKLSAgICAg
ICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgIiQiOwotICAgICAgICAgICAgICAgICAg
ICBzdGFydCsrOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBj
YXNlICImIjoKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgbWF0Y2hlZDsK
LSAgICAgICAgICAgICAgICAgICAgc3RhcnQrKzsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgY2FzZSAiYCI6Ci0gICAgICAgICAgICAgICAgICAgIGlmIChwb3Np
dGlvbiA+IDApCi0gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQgKyBAc3Ry
aW5nU3Vic3RyaW5nSW50ZXJuYWwuQGNhbGwoc3RyLCAwLCBwb3NpdGlvbik7Ci0gICAgICAgICAg
ICAgICAgICAgIHN0YXJ0Kys7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgIGNhc2UgIiciOgotICAgICAgICAgICAgICAgICAgICBpZiAodGFpbFBvcyA8IHN0cmlu
Z0xlbmd0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCArIEBzdHJp
bmdTdWJzdHJpbmdJbnRlcm5hbC5AY2FsbChzdHIsIHRhaWxQb3MpOwotICAgICAgICAgICAgICAg
ICAgICBzdGFydCsrOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICBjYXNlICI8IjoKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWVkQ2FwdHVyZXMgIT09IEB1
bmRlZmluZWQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhciBncm91cE5hbWVTdGFydElu
ZGV4ID0gc3RhcnQgKyAxOwotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGdyb3VwTmFtZUVu
ZEluZGV4ID0gQHN0cmluZ0luZGV4T2ZJbnRlcm5hbC5AY2FsbChyZXBsYWNlbWVudCwgIj4iLCBn
cm91cE5hbWVTdGFydEluZGV4KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChncm91cE5h
bWVFbmRJbmRleCAhPT0gLTEpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZ3Jv
dXBOYW1lID0gQHN0cmluZ1N1YnN0cmluZ0ludGVybmFsLkBjYWxsKHJlcGxhY2VtZW50LCBncm91
cE5hbWVTdGFydEluZGV4LCBncm91cE5hbWVFbmRJbmRleCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdmFyIGNhcHR1cmUgPSBuYW1lZENhcHR1cmVzW2dyb3VwTmFtZV07Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKGNhcHR1cmUgIT09IEB1bmRlZmluZWQpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCArIEB0b1N0cmluZyhjYXB0
dXJlKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gZ3JvdXBOYW1lRW5k
SW5kZXggKyAxOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN0YXJ0Kys7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICImIjoKKyAgICAgICAgICAgICAgICByZXN1bHQg
PSByZXN1bHQgKyBtYXRjaGVkOworICAgICAgICAgICAgICAgIHN0YXJ0Kys7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICJgIjoKKyAgICAgICAgICAgICAgICBpZiAo
cG9zaXRpb24gPiAwKQorICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQgKyBAc3Ry
aW5nU3Vic3RyaW5nSW50ZXJuYWwuQGNhbGwoc3RyLCAwLCBwb3NpdGlvbik7CisgICAgICAgICAg
ICAgICAgc3RhcnQrKzsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
IiciOgorICAgICAgICAgICAgICAgIGlmICh0YWlsUG9zIDwgc3RyaW5nTGVuZ3RoKQorICAgICAg
ICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQgKyBAc3RyaW5nU3Vic3RyaW5nSW50ZXJuYWwu
QGNhbGwoc3RyLCB0YWlsUG9zKTsKKyAgICAgICAgICAgICAgICBzdGFydCsrOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAiPCI6CisgICAgICAgICAgICAgICAgaWYg
KG5hbWVkQ2FwdHVyZXMgIT09IEB1bmRlZmluZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFy
IGdyb3VwTmFtZVN0YXJ0SW5kZXggPSBzdGFydCArIDE7CisgICAgICAgICAgICAgICAgICAgIHZh
ciBncm91cE5hbWVFbmRJbmRleCA9IEBzdHJpbmdJbmRleE9mSW50ZXJuYWwuQGNhbGwocmVwbGFj
ZW1lbnQsICI+IiwgZ3JvdXBOYW1lU3RhcnRJbmRleCk7CisgICAgICAgICAgICAgICAgICAgIGlm
IChncm91cE5hbWVFbmRJbmRleCAhPT0gLTEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZh
ciBncm91cE5hbWUgPSBAc3RyaW5nU3Vic3RyaW5nSW50ZXJuYWwuQGNhbGwocmVwbGFjZW1lbnQs
IGdyb3VwTmFtZVN0YXJ0SW5kZXgsIGdyb3VwTmFtZUVuZEluZGV4KTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHZhciBjYXB0dXJlID0gbmFtZWRDYXB0dXJlc1tncm91cE5hbWVdOworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKGNhcHR1cmUgIT09IEB1bmRlZmluZWQpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgQHRvU3RyaW5nKGNhcHR1cmUpOwor
CisgICAgICAgICAgICAgICAgICAgICAgICBzdGFydCA9IGdyb3VwTmFtZUVuZEluZGV4ICsgMTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCAr
ICIkPCI7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgIiQ8IjsKKyAgICAgICAg
ICAgICAgICBzdGFydCsrOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVm
YXVsdDoKKyAgICAgICAgICAgICAgICB2YXIgY2hDb2RlID0gY2guQGNoYXJDb2RlQXQoMCk7Cisg
ICAgICAgICAgICAgICAgaWYgKGNoQ29kZSA+PSAweDMwICYmIGNoQ29kZSA8PSAweDM5KSB7Cisg
ICAgICAgICAgICAgICAgICAgIHZhciBvcmlnaW5hbFN0YXJ0ID0gc3RhcnQgLSAxOwogICAgICAg
ICAgICAgICAgICAgICBzdGFydCsrOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICB2YXIgY2hDb2RlID0gY2gu
QGNoYXJDb2RlQXQoMCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChjaENvZGUgPj0gMHgzMCAm
JiBjaENvZGUgPD0gMHgzOSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9yaWdpbmFs
U3RhcnQgPSBzdGFydCAtIDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGFydCsrOwotCi0g
ICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IGNoQ29kZSAtIDB4MzA7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAobiA+IG0pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXN1bHQgPSByZXN1bHQgKyBAc3RyaW5nU3Vic3RyaW5nSW50ZXJuYWwuQGNhbGwocmVwbGFjZW1l
bnQsIG9yaWdpbmFsU3RhcnQsIHN0YXJ0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHN0YXJ0IDwgcmVwbGFjZW1lbnRMZW5ndGgpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2YXIgbmV4dENoQ29kZSA9IHJlcGxhY2VtZW50LkBjaGFyQ29kZUF0KHN0YXJ0KTsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobmV4dENoQ29kZSA+PSAweDMwICYmIG5l
eHRDaENvZGUgPD0gMHgzOSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIg
bm4gPSAxMCAqIG4gKyBuZXh0Q2hDb2RlIC0gMHgzMDsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKG5uIDw9IG0pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG4gPSBubjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0Kys7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
dmFyIG4gPSBjaENvZGUgLSAweDMwOworICAgICAgICAgICAgICAgICAgICBpZiAobiA+IG0pIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCArIEBzdHJpbmdTdWJzdHJp
bmdJbnRlcm5hbC5AY2FsbChyZXBsYWNlbWVudCwgb3JpZ2luYWxTdGFydCwgc3RhcnQpOworICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgICAgICBpZiAoc3RhcnQgPCByZXBsYWNlbWVudExlbmd0aCkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgdmFyIG5leHRDaENvZGUgPSByZXBsYWNlbWVudC5AY2hhckNvZGVB
dChzdGFydCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobmV4dENoQ29kZSA+PSAweDMw
ICYmIG5leHRDaENvZGUgPD0gMHgzOSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZh
ciBubiA9IDEwICogbiArIG5leHRDaENvZGUgLSAweDMwOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChubiA8PSBtKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4g
PSBubjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQrKzsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4gPT0gMCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCArIEBzdHJpbmdTdWJz
dHJpbmdJbnRlcm5hbC5AY2FsbChyZXBsYWNlbWVudCwgb3JpZ2luYWxTdGFydCwgc3RhcnQpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAobiA9PSAwKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICByZXN1bHQgPSByZXN1bHQgKyBAc3RyaW5nU3Vic3RyaW5nSW50ZXJuYWwuQGNhbGwo
cmVwbGFjZW1lbnQsIG9yaWdpbmFsU3RhcnQsIHN0YXJ0KTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHZhciBjYXB0dXJlID0gY2FwdHVyZXNbbiAtIDFdOwotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGNhcHR1cmUgIT09IEB1bmRlZmluZWQpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0ID0gcmVzdWx0ICsgY2FwdHVyZTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQgKyAiJCI7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgdmFyIGNhcHR1cmUgPSBjYXB0dXJlc1tuIC0gMV07CisgICAgICAgICAgICAgICAgICAgIGlm
IChjYXB0dXJlICE9PSBAdW5kZWZpbmVkKQorICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0
ID0gcmVzdWx0ICsgY2FwdHVyZTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgIiQiOworICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQogICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIHJlc3VsdCArIEBzdHJp
bmdTdWJzdHJpbmdJbnRlcm5hbC5AY2FsbChyZXBsYWNlbWVudCwgbGFzdFN0YXJ0KTsKICAgICB9
CiAKKyAgICByZXR1cm4gcmVzdWx0ICsgQHN0cmluZ1N1YnN0cmluZ0ludGVybmFsLkBjYWxsKHJl
cGxhY2VtZW50LCBsYXN0U3RhcnQpOworfQorCitAb3ZlcnJpZGRlbk5hbWU9IltTeW1ib2wucmVw
bGFjZV0iCitmdW5jdGlvbiByZXBsYWNlKHN0ckFyZywgcmVwbGFjZSkKK3sKKyAgICAidXNlIHN0
cmljdCI7CisKICAgICBpZiAoIUBpc09iamVjdCh0aGlzKSkKICAgICAgICAgQHRocm93VHlwZUVy
cm9yKCJSZWdFeHAucHJvdG90eXBlLkBAcmVwbGFjZSByZXF1aXJlcyB0aGF0IHx0aGlzfCBiZSBh
biBPYmplY3QiKTsKIApAQCAtMzYzLDcgKzM2NCw3IEBAIGZ1bmN0aW9uIGdldFN1YnN0aXR1dGlv
bihtYXRjaGVkLCBzdHIsIHBvc2l0aW9uLCBjYXB0dXJlcywgbmFtZWRDYXB0dXJlcywgcmVwbGFj
CiAgICAgICAgICAgICBpZiAobmFtZWRDYXB0dXJlcyAhPT0gQHVuZGVmaW5lZCkKICAgICAgICAg
ICAgICAgICBuYW1lZENhcHR1cmVzID0gQHRvT2JqZWN0KG5hbWVkQ2FwdHVyZXMsICJSZWdFeHAu
cHJvdG90eXBlW1N5bWJvbC5yZXBsYWNlXSByZXF1aXJlcyAnZ3JvdXBzJyBwcm9wZXJ0eSBvZiBh
IG1hdGNoIG5vdCBiZSBudWxsIik7CiAKLSAgICAgICAgICAgIHJlcGxhY2VtZW50ID0gZ2V0U3Vi
c3RpdHV0aW9uKG1hdGNoZWQsIHN0ciwgcG9zaXRpb24sIGNhcHR1cmVzLCBuYW1lZENhcHR1cmVz
LCByZXBsYWNlKTsKKyAgICAgICAgICAgIHJlcGxhY2VtZW50ID0gQGdldFN1YnN0aXR1dGlvbiht
YXRjaGVkLCBzdHIsIHBvc2l0aW9uLCBjYXB0dXJlcywgbmFtZWRDYXB0dXJlcywgcmVwbGFjZSk7
CiAgICAgICAgIH0KIAogICAgICAgICBpZiAocG9zaXRpb24gPj0gbmV4dFNvdXJjZVBvc2l0aW9u
KSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>