<?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>32657</bug_id>
          
          <creation_ts>2009-12-17 05:40:07 -0800</creation_ts>
          <short_desc>[Qt] Calling a JS function should be possible from QJavaScript API</short_desc>
          <delta_ts>2010-02-09 02:06:27 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>32607</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jędrzej Nowacki">jedrzej.nowacki</reporter>
          <assigned_to name="Jędrzej Nowacki">jedrzej.nowacki</assigned_to>
          <cc>jedrzej.nowacki</cc>
    
    <cc>kent.hansen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>172732</commentid>
    <comment_count>0</comment_count>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2009-12-17 05:40:07 -0800</bug_when>
    <thetext>It would be nice to call a java script function from QJavaScript API. Something like that:

QJavaScriptEngine engine;
function = engine.evaluate(&quot;functon foo() { print &apos;hello&apos; }; foo&quot;);
function.call();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172736</commentid>
    <comment_count>1</comment_count>
      <attachid>45058</attachid>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2009-12-17 06:12:20 -0800</bug_when>
    <thetext>Created attachment 45058
Initialization of QJavaScriptObject v1

Initialization of QJavaScriptObject.

Patch should be landed after bug 32607</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172737</commentid>
    <comment_count>2</comment_count>
      <attachid>45059</attachid>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2009-12-17 06:13:41 -0800</bug_when>
    <thetext>Created attachment 45059
Autotest V1

Patch with autotest for QJavaScriptObject functionality.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188933</commentid>
    <comment_count>3</comment_count>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2010-02-09 02:06:27 -0800</bug_when>
    <thetext>Idea of the QJavaScriptObject was dropped.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45058</attachid>
            <date>2009-12-17 06:12:20 -0800</date>
            <delta_ts>2009-12-18 08:18:07 -0800</delta_ts>
            <desc>Initialization of QJavaScriptObject v1</desc>
            <filename>objectV1.diff</filename>
            <type>text/plain</type>
            <size>16969</size>
            <attacher name="Jędrzej Nowacki">jedrzej.nowacki</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3ZDFhZjU3Li40ODUxODk0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAg
QEAKKzIwMDktMTItMTcgIEplZHJ6ZWogTm93YWNraSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5p
dGlhbGl6YXRpb24gb2YgYSBuZXcgY2xhc3M7IHRoZSBRSmF2YVNjcmlwdE9iamVjdC4KKyAgICAg
ICAgCisgICAgICAgIFRoZSBjbGFzcyBlbmNhcHN1bGF0ZSB0aGUgSlNPYmplY3RSZWYgYW5kIHJl
cHJlc2VudCBhIGphdmEgc2NyaXB0IG9iamVjdC4KKyAgICAgICAgVGhlIG1haW4gcHVycG9zZSBv
ZiB0aGUgUUphdmFTY3JpcHRPYmplY3QgaXMgdG8gcHJvdmlkZSBhbiBBUEkgZm9yIGNhbGxpbmcK
KyAgICAgICAgYSBqYXZhIHNjcmlwdCBmdW5jdGlvbiBhbmQgYWNjZXNzIGEgZGlmZmVyZW50IHBy
b3BlcnRpZXMuCisgICAgICAgIAorICAgICAgICBUaGUgcGF0Y2ggcHJvdmlkZSBhIHdheSB0byBj
YWxsIGphdmEgc2NyaXB0IGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIGFuZAorICAgICAgICBy
ZXRyaWV2ZSB0aGUgcmVzdWx0LgorICAgICAgICAKKyAgICAgICAgVGhpcyBjaGFuZ2UgaXMgYSBw
YXJ0IG9mIFFKYXZhU2NyaXB0IG5ldyBBUEkgKGJ1ZyAzMTg2MykuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNjU3CisKKyAgICAgICAgKiBxdC9h
cGkvUXRKYXZhU2NyaXB0LnBybzoKKyAgICAgICAgKiBxdC9hcGkvcWphdmFzY3JpcHRlbmdpbmUu
Y3BwOgorICAgICAgICAoUUphdmFTY3JpcHRFbmdpbmVQcml2YXRlOjpjYWxsKToKKyAgICAgICAg
KFFKYXZhU2NyaXB0RW5naW5lUHJpdmF0ZTo6aXNPYmplY3QpOgorICAgICAgICAoUUphdmFTY3Jp
cHRFbmdpbmVQcml2YXRlOjp0b09iamVjdCk6CisgICAgICAgICogcXQvYXBpL3FqYXZhc2NyaXB0
ZW5naW5lLmg6CisgICAgICAgICogcXQvYXBpL3FqYXZhc2NyaXB0ZW5naW5lX3AuaDoKKyAgICAg
ICAgKiBxdC9hcGkvcWphdmFzY3JpcHRvYmplY3QuY3BwOiBBZGRlZC4KKyAgICAgICAgKFFKYXZh
U2NyaXB0T2JqZWN0UHJpdmF0ZTo6Z2V0KToKKyAgICAgICAgKDpkX3B0cik6CisgICAgICAgIChR
SmF2YVNjcmlwdE9iamVjdDo6UUphdmFTY3JpcHRPYmplY3QpOgorICAgICAgICAoUUphdmFTY3Jp
cHRPYmplY3RQcml2YXRlOjpRSmF2YVNjcmlwdE9iamVjdFByaXZhdGUpOgorICAgICAgICAoUUph
dmFTY3JpcHRPYmplY3Q6Om9wZXJhdG9yPSk6CisgICAgICAgIChRSmF2YVNjcmlwdE9iamVjdDo6
flFKYXZhU2NyaXB0T2JqZWN0KToKKyAgICAgICAgKFFKYXZhU2NyaXB0T2JqZWN0UHJpdmF0ZTo6
flFKYXZhU2NyaXB0T2JqZWN0UHJpdmF0ZSk6CisgICAgICAgIChRSmF2YVNjcmlwdE9iamVjdDo6
Y2FsbCk6CisgICAgICAgIChRSmF2YVNjcmlwdE9iamVjdFByaXZhdGU6OmNhbGwpOgorICAgICAg
ICAoUUphdmFTY3JpcHRPYmplY3Q6OmlzVmFsaWQpOgorICAgICAgICAoUUphdmFTY3JpcHRPYmpl
Y3RQcml2YXRlOjppc1ZhbGlkKToKKyAgICAgICAgKiBxdC9hcGkvcWphdmFzY3JpcHRvYmplY3Qu
aDogQWRkZWQuCisgICAgICAgICogcXQvYXBpL3FqYXZhc2NyaXB0b2JqZWN0X3AuaDogQWRkZWQu
CisgICAgICAgIChRSmF2YVNjcmlwdE9iamVjdFByaXZhdGU6Om9iamVjdCk6CisgICAgICAgICog
cXQvYXBpL3FqYXZhc2NyaXB0dmFsdWUuY3BwOgorICAgICAgICAoUUphdmFTY3JpcHRWYWx1ZTo6
b3BlcmF0b3IgUUphdmFTY3JpcHRPYmplY3QpOgorICAgICAgICAoUUphdmFTY3JpcHRWYWx1ZVBy
aXZhdGU6OnRvT2JqZWN0KToKKyAgICAgICAgKiBxdC9hcGkvcWphdmFzY3JpcHR2YWx1ZS5oOgor
ICAgICAgICAqIHF0L2FwaS9xamF2YXNjcmlwdHZhbHVlX3AuaDoKKyAgICAgICAgKFFKYXZhU2Ny
aXB0VmFsdWVQcml2YXRlOjp2YWx1ZSk6CisgICAgICAgICogcXQvdGVzdHMvcWphdmFzY3JpcHRl
bmdpbmUvdHN0X3FqYXZhc2NyaXB0ZW5naW5lLmNwcDoKKwogMjAwOS0xMi0xNiAgSmVkcnplaiBO
b3dhY2tpICA8amVkcnplai5ub3dhY2tpQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9RdEph
dmFTY3JpcHQucHJvIGIvSmF2YVNjcmlwdENvcmUvcXQvYXBpL1F0SmF2YVNjcmlwdC5wcm8KaW5k
ZXggYTFiOTdlZS4uOTU4OTNkMiAxMDA3NTUKLS0tIGEvSmF2YVNjcmlwdENvcmUvcXQvYXBpL1F0
SmF2YVNjcmlwdC5wcm8KKysrIGIvSmF2YVNjcmlwdENvcmUvcXQvYXBpL1F0SmF2YVNjcmlwdC5w
cm8KQEAgLTE1LDExICsxNSwxNCBAQCBIRUFERVJTICs9ICQkUFdEL3F0amF2YXNjcmlwdGdsb2Jh
bC5oCiBJTkNMVURFUEFUSCArPSAkJFBXRC8uLi8uLi9BUEkKIAogU09VUkNFUyArPSAgJCRQV0Qv
cWphdmFzY3JpcHRlbmdpbmUuY3BwIFwKLSAgICAgICAgICAgICQkUFdEL3FqYXZhc2NyaXB0dmFs
dWUuY3BwCisgICAgICAgICAgICAkJFBXRC9xamF2YXNjcmlwdHZhbHVlLmNwcCBcCisgICAgICAg
ICAgICAkJFBXRC9xamF2YXNjcmlwdG9iamVjdC5jcHAKIEhFQURFUlMgKz0gICQkUFdEL3FqYXZh
c2NyaXB0ZW5naW5lLmggXAogICAgICAgICAgICAgJCRQV0QvcWphdmFzY3JpcHRlbmdpbmVfcC5o
IFwKICAgICAgICAgICAgICQkUFdEL3FqYXZhc2NyaXB0dmFsdWUuaCBcCi0gICAgICAgICAgICAk
JFBXRC9xamF2YXNjcmlwdHZhbHVlX3AuaCAKKyAgICAgICAgICAgICQkUFdEL3FqYXZhc2NyaXB0
dmFsdWVfcC5oIFwKKyAgICAgICAgICAgICQkUFdEL3FqYXZhc2NyaXB0b2JqZWN0LmggXAorICAg
ICAgICAgICAgJCRQV0QvcWphdmFzY3JpcHRvYmplY3RfcC5oCiAKICFzdGF0aWM6IERFRklORVMg
Kz0gUVRfTUFLRURMTAogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcWphdmFz
Y3JpcHRlbmdpbmUuY3BwIGIvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FqYXZhc2NyaXB0ZW5naW5l
LmNwcAppbmRleCBhYjUzMmY1Li4wZTZkOWI4IDEwMDc1NQotLS0gYS9KYXZhU2NyaXB0Q29yZS9x
dC9hcGkvcWphdmFzY3JpcHRlbmdpbmUuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9x
amF2YXNjcmlwdGVuZ2luZS5jcHAKQEAgLTIyLDcgKzIyLDcgQEAKICNpbmNsdWRlICJxamF2YXNj
cmlwdGVuZ2luZS5oIgogI2luY2x1ZGUgInFqYXZhc2NyaXB0ZW5naW5lX3AuaCIKIAotI2luY2x1
ZGUgInFqYXZhc2NyaXB0dmFsdWUuaCIKKyNpbmNsdWRlICJxamF2YXNjcmlwdG9iamVjdF9wLmgi
CiAjaW5jbHVkZSAicWphdmFzY3JpcHR2YWx1ZV9wLmgiCiAKIApAQCAtMTMyLDMgKzEzMiwzNiBA
QCB2b2lkIFFKYXZhU2NyaXB0RW5naW5lUHJpdmF0ZTo6Y29sbGVjdEdhcmJhZ2UoKQogewogICAg
IEpTR2FyYmFnZUNvbGxlY3QobV9jb250ZXh0KTsKIH0KKworLyoqIENhbGwgdGhlIG9iamVjdCBh
cyBhIGZ1bmN0aW9uLiBSZXR1cm5zIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tIHRoZSBmdW5jdGlv
bi4gSWYgdGhpcworUVNjcmlwdFZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uIG9yIHVuaGFuZGxlZCBl
eGNlcHRpb24gaXMgdGhyb3duLCBjYWxsKCkgZG9lcyBub3RoaW5nIGFuZCByZXR1cm5zIGFuCitp
bnZhbGlkIFFTY3JpcHRWYWx1ZS4KK0BpbnRlcm5hbAorKi8KK1FKYXZhU2NyaXB0VmFsdWVQdHIg
UUphdmFTY3JpcHRFbmdpbmVQcml2YXRlOjpjYWxsKGNvbnN0IFFKYXZhU2NyaXB0T2JqZWN0UHJp
dmF0ZSogZnVuY3Rpb24pCit7CisgICAgSlNWYWx1ZVJlZiByZXN1bHQgPSBKU09iamVjdENhbGxB
c0Z1bmN0aW9uKG1fY29udGV4dCwgZnVuY3Rpb24tPm9iamVjdCgpLCAwLCAwLCAwLCAwKTsKKyAg
ICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIFFKYXZhU2NyaXB0VmFsdWVQdHIobmV3IFFK
YXZhU2NyaXB0VmFsdWVQcml2YXRlKCkpOworICAgIHJldHVybiBRSmF2YVNjcmlwdFZhbHVlUHRy
KG5ldyBRSmF2YVNjcmlwdFZhbHVlUHJpdmF0ZSh0aGlzLCByZXN1bHQpKTsKK30KKworLyoqIENo
ZWNrIGlmIHRoZSB2YWx1ZSBpcyBhbiBvYmplY3QKK0BpbnRlcm5hbAorKi8KK2Jvb2wgUUphdmFT
Y3JpcHRFbmdpbmVQcml2YXRlOjppc09iamVjdChjb25zdCBRSmF2YVNjcmlwdFZhbHVlUHJpdmF0
ZSogdmFsdWUpCit7CisgICAgcmV0dXJuIEpTVmFsdWVJc09iamVjdChtX2NvbnRleHQsIHZhbHVl
LT52YWx1ZSgpKTsKK30KKworLyoqIENvbnZlcnRzIHRoZSB2YWx1ZSB0byBhbiBvYmplY3QuIFRo
ZSB2YWx1ZSBzaG91bGQgYmUgYW4gb2JqZWN0LCBpZiBub3QgYW4gaW52YWxpZCBvYmplY3Qgd2ls
bCBiZQorcmV0dXJuZWQKK0BpbnRlcm5hbAorKi8KK1FKYXZhU2NyaXB0T2JqZWN0UHRyIFFKYXZh
U2NyaXB0RW5naW5lUHJpdmF0ZTo6dG9PYmplY3QoY29uc3QgUUphdmFTY3JpcHRWYWx1ZVByaXZh
dGUqIHZhbHVlKQoreworICAgIEpTT2JqZWN0UmVmIHJlc3VsdCA9IEpTVmFsdWVUb09iamVjdCht
X2NvbnRleHQsIHZhbHVlLT52YWx1ZSgpLCAwKTsKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAg
cmV0dXJuIFFKYXZhU2NyaXB0T2JqZWN0UHRyKG5ldyBRSmF2YVNjcmlwdE9iamVjdFByaXZhdGUo
KSk7CisgICAgcmV0dXJuIFFKYXZhU2NyaXB0T2JqZWN0UHRyKG5ldyBRSmF2YVNjcmlwdE9iamVj
dFByaXZhdGUodmFsdWUsIHJlc3VsdCkpOworfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
cXQvYXBpL3FqYXZhc2NyaXB0ZW5naW5lLmggYi9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcWphdmFz
Y3JpcHRlbmdpbmUuaAppbmRleCA4NzRiYzEwLi43NGVkYzY4IDEwMDc1NQotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9xdC9hcGkvcWphdmFzY3JpcHRlbmdpbmUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9x
dC9hcGkvcWphdmFzY3JpcHRlbmdpbmUuaApAQCAtMjAsMTAgKzIwLDEwIEBACiAjaWZuZGVmIFFK
QVZBU0NSSVBURU5HSU5FX0gKICNkZWZpbmUgUUpBVkFTQ1JJUFRFTkdJTkVfSAogCi0jaW5jbHVk
ZSAicWphdmFzY3JpcHR2YWx1ZS5oIgogI2luY2x1ZGUgPFFFeHBsaWNpdGx5U2hhcmVkRGF0YVBv
aW50ZXI+CiAjaW5jbHVkZSA8UVN0cmluZz4KIAorY2xhc3MgUUphdmFTY3JpcHRWYWx1ZTsKIAog
Y2xhc3MgUUphdmFTY3JpcHRFbmdpbmVQcml2YXRlOwogdHlwZWRlZiBRRXhwbGljaXRseVNoYXJl
ZERhdGFQb2ludGVyPFFKYXZhU2NyaXB0RW5naW5lUHJpdmF0ZT4gUUphdmFTY3JpcHRFbmdpbmVQ
dHI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcWphdmFzY3JpcHRlbmdpbmVf
cC5oIGIvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FqYXZhc2NyaXB0ZW5naW5lX3AuaAppbmRleCA4
MGNiMjdiLi4wOGNhZWZiIDEwMDc1NQotLS0gYS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcWphdmFz
Y3JpcHRlbmdpbmVfcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xamF2YXNjcmlwdGVu
Z2luZV9wLmgKQEAgLTIxLDYgKzIxLDcgQEAKICNkZWZpbmUgUUpBVkFTQ1JJUFRFTkdJTkVfUF9I
CiAKICNpbmNsdWRlICJxamF2YXNjcmlwdGVuZ2luZS5oIgorI2luY2x1ZGUgInFqYXZhc2NyaXB0
b2JqZWN0LmgiCiAjaW5jbHVkZSAicWphdmFzY3JpcHR2YWx1ZS5oIgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHQuaD4KICNpbmNsdWRlIDxRU2hhcmVkRGF0YT4KQEAgLTQyLDYg
KzQzLDkgQEAgcHVibGljOgogICAgIHZvaWQgY29sbGVjdEdhcmJhZ2UoKTsKICAgICBKU0dsb2Jh
bENvbnRleHRSZWYgY29udGV4dCgpIHsgcmV0dXJuIG1fY29udGV4dDsgfQogCisgICAgUUphdmFT
Y3JpcHRWYWx1ZVB0ciBjYWxsKGNvbnN0IFFKYXZhU2NyaXB0T2JqZWN0UHJpdmF0ZSogZnVuY3Rp
b24pOworICAgIGJvb2wgaXNPYmplY3QoY29uc3QgUUphdmFTY3JpcHRWYWx1ZVByaXZhdGUqIHZh
bHVlKTsKKyAgICBRSmF2YVNjcmlwdE9iamVjdFB0ciB0b09iamVjdChjb25zdCBRSmF2YVNjcmlw
dFZhbHVlUHJpdmF0ZSogdmFsdWUpOwogCiBwcml2YXRlOgogICAgIEpTR2xvYmFsQ29udGV4dFJl
ZiBtX2NvbnRleHQ7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcWphdmFzY3Jp
cHRvYmplY3QuY3BwIGIvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FqYXZhc2NyaXB0b2JqZWN0LmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmI2OTJjCi0tLSAvZGV2L251
bGwKKysrIGIvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FqYXZhc2NyaXB0b2JqZWN0LmNwcApAQCAt
MCwwICsxLDExNCBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
ICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAg
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAg
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaW5jbHVkZSAicWphdmFzY3JpcHRvYmplY3QuaCIKKyNpbmNsdWRlICJxamF2YXNjcmlwdG9i
amVjdF9wLmgiCisKKyNpbmNsdWRlICJxamF2YXNjcmlwdHZhbHVlX3AuaCIKKworCisvKiogUGVy
Zm9ybSBjb252ZXJzaW9uIGZyb20gInByaXZhdGUiIHRvICJwdWJsaWMiIHZlcnNpb24uCitAaW50
ZXJuYWwKKyovCitRSmF2YVNjcmlwdE9iamVjdCBRSmF2YVNjcmlwdE9iamVjdFByaXZhdGU6Omdl
dChRSmF2YVNjcmlwdE9iamVjdFB0ciBkKQoreworICAgIHJldHVybiBRSmF2YVNjcmlwdE9iamVj
dChkKTsKK30KKworLyoqIFBlcmZvcm0gY29udmVyc2lvbiBmcm9tICJwcml2YXRlIiB0byAicHVi
bGljIiB2ZXJzaW9uLgorQGludGVybmFsCisqLworUUphdmFTY3JpcHRPYmplY3QgUUphdmFTY3Jp
cHRPYmplY3RQcml2YXRlOjpnZXQoY29uc3QgUUphdmFTY3JpcHRPYmplY3RQcml2YXRlKiBkKQor
eworICAgIHJldHVybiBRSmF2YVNjcmlwdE9iamVjdChRSmF2YVNjcmlwdE9iamVjdFB0cihjb25z
dF9jYXN0PFFKYXZhU2NyaXB0T2JqZWN0UHJpdmF0ZSo+KGQpKSk7Cit9CisKKy8qKiBQZXJmb3Jt
IGNvbnZlcnNpb24gZnJvbSAicHVibGljIiB0byAicHJpdmF0ZSIgdmVyc2lvbi4KK0BpbnRlcm5h
bAorKi8KK1FKYXZhU2NyaXB0T2JqZWN0UHRyIFFKYXZhU2NyaXB0T2JqZWN0UHJpdmF0ZTo6Z2V0
KGNvbnN0IFFKYXZhU2NyaXB0T2JqZWN0JiBxKQoreworICAgIHJldHVybiBxLmRfcHRyOworfQor
CitRSmF2YVNjcmlwdE9iamVjdDo6UUphdmFTY3JpcHRPYmplY3QoKQorICAgIDpkX3B0cihuZXcg
UUphdmFTY3JpcHRPYmplY3RQcml2YXRlKCkpCit7Cit9CisKK1FKYXZhU2NyaXB0T2JqZWN0OjpR
SmF2YVNjcmlwdE9iamVjdChRSmF2YVNjcmlwdE9iamVjdFB0ciBkKQorICAgIDogZF9wdHIoZCkK
K3sKK30KKworUUphdmFTY3JpcHRPYmplY3RQcml2YXRlOjpRSmF2YVNjcmlwdE9iamVjdFByaXZh
dGUoKQorICAgIDogbV92YWx1ZSgwKQorICAgICwgbV9vYmplY3QoMCkKK3t9CisKK1FKYXZhU2Ny
aXB0T2JqZWN0UHJpdmF0ZTo6UUphdmFTY3JpcHRPYmplY3RQcml2YXRlKFFKYXZhU2NyaXB0VmFs
dWVQdHIgdmFsdWUsIEpTT2JqZWN0UmVmIG9iamVjdCkKKyAgICA6IG1fdmFsdWUodmFsdWUpCisg
ICAgLCBtX29iamVjdChvYmplY3QpCit7fQorCitRSmF2YVNjcmlwdE9iamVjdFByaXZhdGU6OlFK
YXZhU2NyaXB0T2JqZWN0UHJpdmF0ZShjb25zdCBRSmF2YVNjcmlwdFZhbHVlUHJpdmF0ZSogdmFs
dWUsIEpTT2JqZWN0UmVmIG9iamVjdCkKKyAgICA6IG1fdmFsdWUoUUphdmFTY3JpcHRWYWx1ZVB0
cihjb25zdF9jYXN0PFFKYXZhU2NyaXB0VmFsdWVQcml2YXRlKj4odmFsdWUpKSkKKyAgICAsIG1f
b2JqZWN0KG9iamVjdCkKK3t9CisKK1FKYXZhU2NyaXB0T2JqZWN0OjpRSmF2YVNjcmlwdE9iamVj
dChjb25zdCBRSmF2YVNjcmlwdE9iamVjdCYgb3RoZXIpCit7CisgICAgdGhpcy0+ZF9wdHIgPSBv
dGhlci5kX3B0cjsKK30KKworUUphdmFTY3JpcHRPYmplY3QmIFFKYXZhU2NyaXB0T2JqZWN0Ojpv
cGVyYXRvcj0oY29uc3QgUUphdmFTY3JpcHRPYmplY3QmIG90aGVyKQoreworICAgIHRoaXMtPmRf
cHRyID0gb3RoZXIuZF9wdHI7CisgICAgcmV0dXJuICp0aGlzOworfQorCitRSmF2YVNjcmlwdE9i
amVjdDo6flFKYXZhU2NyaXB0T2JqZWN0KCkKK3sKK30KKworUUphdmFTY3JpcHRPYmplY3RQcml2
YXRlOjp+UUphdmFTY3JpcHRPYmplY3RQcml2YXRlKCkKK3sKK30KKworUUphdmFTY3JpcHRWYWx1
ZSBRSmF2YVNjcmlwdE9iamVjdDo6Y2FsbCgpCit7CisgICAgcmV0dXJuIFFKYXZhU2NyaXB0VmFs
dWVQcml2YXRlOjpnZXQoZF9wdHItPmNhbGwoKSk7Cit9CisKK1FKYXZhU2NyaXB0VmFsdWVQdHIg
UUphdmFTY3JpcHRPYmplY3RQcml2YXRlOjpjYWxsKCkKK3sKKyAgICByZXR1cm4gbV92YWx1ZS0+
ZW5naW5lKCktPmNhbGwodGhpcyk7Cit9CisKK2Jvb2wgUUphdmFTY3JpcHRPYmplY3Q6OmlzVmFs
aWQoKQoreworICAgIHJldHVybiBkX3B0ci0+aXNWYWxpZCgpOworfQorCitib29sIFFKYXZhU2Ny
aXB0T2JqZWN0UHJpdmF0ZTo6aXNWYWxpZCgpCit7CisgICAgcmV0dXJuIG1fdmFsdWUgJiYgbV9v
YmplY3Q7ICAvLyBUT0RPIElzIGl0IGVub3VnaCB0byBwbGFjZSBoZXJlIG1fdmFsdWUgb25seT8K
K30KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xamF2YXNjcmlwdG9iamVjdC5o
IGIvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FqYXZhc2NyaXB0b2JqZWN0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY5Y2Y0ZQotLS0gL2Rldi9udWxsCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3F0L2FwaS9xamF2YXNjcmlwdG9iamVjdC5oCkBAIC0wLDAgKzEsNDcgQEAKKy8q
CisgICAgQ29weXJpZ2h0IChDKSAyMDA5IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKQorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
CisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyovCisKKyNpZm5kZWYgUUpBVkFTQ1JJUFRPQkpFQ1RfSAorI2RlZmluZSBR
SkFWQVNDUklQVE9CSkVDVF9ICisKKyNpbmNsdWRlIDxRRXhwbGljaXRseVNoYXJlZERhdGFQb2lu
dGVyPgorCitjbGFzcyBRSmF2YVNjcmlwdFZhbHVlOworY2xhc3MgUUphdmFTY3JpcHRPYmplY3RQ
cml2YXRlOwordHlwZWRlZiBRRXhwbGljaXRseVNoYXJlZERhdGFQb2ludGVyPFFKYXZhU2NyaXB0
T2JqZWN0UHJpdmF0ZT4gUUphdmFTY3JpcHRPYmplY3RQdHI7CisKK2NsYXNzIFFKYXZhU2NyaXB0
T2JqZWN0IHsKK3B1YmxpYzoKKyAgICBRSmF2YVNjcmlwdE9iamVjdCgpOworICAgIH5RSmF2YVNj
cmlwdE9iamVjdCgpOworICAgIFFKYXZhU2NyaXB0T2JqZWN0KGNvbnN0IFFKYXZhU2NyaXB0T2Jq
ZWN0Jik7CisgICAgUUphdmFTY3JpcHRPYmplY3QmIG9wZXJhdG9yPShjb25zdCBRSmF2YVNjcmlw
dE9iamVjdCYpOworCisgICAgUUphdmFTY3JpcHRWYWx1ZSBjYWxsKCk7CisgICAgYm9vbCBpc1Zh
bGlkKCk7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFFKYXZhU2NyaXB0T2JqZWN0UHJp
dmF0ZTsKKworICAgIFFKYXZhU2NyaXB0T2JqZWN0KFFKYXZhU2NyaXB0T2JqZWN0UHRyIGQpOwor
CisgICAgUUphdmFTY3JpcHRPYmplY3RQdHIgZF9wdHI7Cit9OworCisjZW5kaWYgLy8gUUpBVkFT
Q1JJUFRPQkpFQ1RfSApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FqYXZhc2Ny
aXB0b2JqZWN0X3AuaCBiL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xamF2YXNjcmlwdG9iamVjdF9w
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBmYTIxNwotLS0gL2Rldi9u
dWxsCisrKyBiL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xamF2YXNjcmlwdG9iamVjdF9wLmgKQEAg
LTAsMCArMSw1MyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
ICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAg
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAg
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2lmbmRlZiBRSkFWQVNDUklQVE9C
SkVDVF9QX0gKKyNkZWZpbmUgUUpBVkFTQ1JJUFRPQkpFQ1RfUF9ICisKKyNpbmNsdWRlICJxamF2
YXNjcmlwdG9iamVjdC5oIgorI2luY2x1ZGUgInFqYXZhc2NyaXB0dmFsdWUuaCIKKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+CisjaW5jbHVkZSA8UVNoYXJlZERhdGE+CisK
K2NsYXNzIFFKYXZhU2NyaXB0T2JqZWN0OworCitjbGFzcyBRSmF2YVNjcmlwdE9iamVjdFByaXZh
dGUKKyAgICA6IHB1YmxpYyBRU2hhcmVkRGF0YSB7CitwdWJsaWM6CisgICAgc3RhdGljIFFKYXZh
U2NyaXB0T2JqZWN0IGdldChRSmF2YVNjcmlwdE9iamVjdFB0ciBkKTsKKyAgICBzdGF0aWMgUUph
dmFTY3JpcHRPYmplY3QgZ2V0KGNvbnN0IFFKYXZhU2NyaXB0T2JqZWN0UHJpdmF0ZSogZCk7Cisg
ICAgc3RhdGljIFFKYXZhU2NyaXB0T2JqZWN0UHRyIGdldChjb25zdCBRSmF2YVNjcmlwdE9iamVj
dCYgcSk7CisKKyAgICBRSmF2YVNjcmlwdE9iamVjdFByaXZhdGUoKTsKKyAgICBRSmF2YVNjcmlw
dE9iamVjdFByaXZhdGUoUUphdmFTY3JpcHRWYWx1ZVB0ciB2YWx1ZSwgSlNPYmplY3RSZWYgb2Jq
ZWN0KTsKKyAgICBRSmF2YVNjcmlwdE9iamVjdFByaXZhdGUoY29uc3QgUUphdmFTY3JpcHRWYWx1
ZVByaXZhdGUqIHZhbHVlLCBKU09iamVjdFJlZiBvYmplY3QpOworICAgIH5RSmF2YVNjcmlwdE9i
amVjdFByaXZhdGUoKTsKKworICAgIFFKYXZhU2NyaXB0VmFsdWVQdHIgY2FsbCgpOworICAgIEpT
T2JqZWN0UmVmIG9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fb2JqZWN0OyB9CisKKyAgICBib29s
IGlzVmFsaWQoKTsKKworcHJpdmF0ZToKKyAgICBRSmF2YVNjcmlwdFZhbHVlUHRyIG1fdmFsdWU7
CisKKyAgICBKU09iamVjdFJlZiBtX29iamVjdDsKK307CisKKyNlbmRpZiAvLyBRSkFWQVNDUklQ
VE9CSkVDVF9QX0gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xamF2YXNjcmlw
dHZhbHVlLmNwcCBiL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xamF2YXNjcmlwdHZhbHVlLmNwcApp
bmRleCA4ZjNiYjdhLi45NGQ1MjA4IDEwMDc1NQotLS0gYS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkv
cWphdmFzY3JpcHR2YWx1ZS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FqYXZhc2Ny
aXB0dmFsdWUuY3BwCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJxamF2YXNjcmlwdGVu
Z2luZS5oIgogI2luY2x1ZGUgInFqYXZhc2NyaXB0ZW5naW5lX3AuaCIKKyNpbmNsdWRlICJxamF2
YXNjcmlwdG9iamVjdF9wLmgiCiAKIAogLyoqIENvbnZlcnRpb24gZnJvbSBKU1N0cmluZ1JlZiB0
byBRU3RyaW5nCkBAIC04MCw2ICs4MSwxNyBAQCBRSmF2YVNjcmlwdFZhbHVlOjpRSmF2YVNjcmlw
dFZhbHVlKFFKYXZhU2NyaXB0VmFsdWVQdHIgZCkKIFFKYXZhU2NyaXB0VmFsdWU6On5RSmF2YVNj
cmlwdFZhbHVlKCkKIHt9CiAKK1FKYXZhU2NyaXB0VmFsdWU6OlFKYXZhU2NyaXB0VmFsdWUoY29u
c3QgUUphdmFTY3JpcHRWYWx1ZSYgb3RoZXIpCit7CisgICAgdGhpcy0+ZF9wdHIgPSBvdGhlci5k
X3B0cjsKK30KKworUUphdmFTY3JpcHRWYWx1ZSYgUUphdmFTY3JpcHRWYWx1ZTo6b3BlcmF0b3I9
KGNvbnN0IFFKYXZhU2NyaXB0VmFsdWUmIG90aGVyKQoreworICAgIHRoaXMtPmRfcHRyID0gb3Ro
ZXIuZF9wdHI7CisgICAgcmV0dXJuICp0aGlzOworfQorCiAvKiogUmV0dXJuIFFKYXZhU2NyaXB0
RW5naW5lIGFzc29zaWF0ZWQgd2l0aCB0aGUgdmFsdWUuIElmIHRoaXMgUVNjcmlwdFZhbHVlIGlz
IGludmFsaWQgb3IgdGhlIHZhbHVlCiBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIGEgcGFydGljdWxh
ciBlbmdpbmUsIGFuIGludmFsaWQgZW5naW5lIHdpbGwgYmUgcmV0dXJuZWQuICovCiBRSmF2YVNj
cmlwdEVuZ2luZSBRSmF2YVNjcmlwdFZhbHVlOjplbmdpbmUoKQpAQCAtMTEwLDYgKzEyMiwyNiBA
QCBib29sIFFKYXZhU2NyaXB0VmFsdWVQcml2YXRlOjppc1ZhbGlkKCkKICAgICByZXR1cm4gbV92
YWxpZDsKIH0KIAorLyoqIENvbnZlcnQgdGhlIFFKYXZhU2NyaXB0VmFsdWUgdG8gdGhlIFFKYXZh
U2NyaXB0T2JqZWN0LiBJZiB0aGUgdmFsdWUgaXNuJ3QgYW4gb2JqZWN0IHRoZW4gaW52YWxpZAor
b2JqZWN0IHdpbGwgYmUgcmV0dXJuZWQKKyovCitRSmF2YVNjcmlwdFZhbHVlOjpvcGVyYXRvciBR
SmF2YVNjcmlwdE9iamVjdCgpCit7CisgICAgcmV0dXJuIFFKYXZhU2NyaXB0T2JqZWN0UHJpdmF0
ZTo6Z2V0KGRfcHRyLT50b09iamVjdCgpKTsKK30KKworLyoqIENvbnZlcnQgdGhlIFFKYXZhU2Ny
aXB0VmFsdWUgdG8gdGhlIFFKYXZhU2NyaXB0T2JqZWN0LiBJZiB0aGUgdmFsdWUgaXNuJ3QgYW4g
b2JqZWN0IHRoZW4gaW52YWxpZAorb2JqZWN0IHdpbGwgYmUgcmV0dXJuZWQKK0BpbnRlcm5hbAor
Ki8KK1FKYXZhU2NyaXB0T2JqZWN0UHRyIFFKYXZhU2NyaXB0VmFsdWVQcml2YXRlOjp0b09iamVj
dCgpCit7CisgICAgaWYgKCFpc1ZhbGlkKCkgfHwgIW1fZW5naW5lLT5pc09iamVjdCh0aGlzKSkK
KyAgICAgICAgcmV0dXJuIFFKYXZhU2NyaXB0T2JqZWN0UHRyKG5ldyBRSmF2YVNjcmlwdE9iamVj
dFByaXZhdGUoKSk7CisKKyAgICByZXR1cm4gbV9lbmdpbmUtPnRvT2JqZWN0KHRoaXMpOworfQor
CiAvKiogUmV0dXJucyB0aGUgc3RyaW5nIHZhbHVlIG9mIHRoaXMgUVNjcmlwdFZhbHVlLCBhcyBk
ZWZpbmVkIGluIEVDTUEtMjYyIHNlY3Rpb24gOS44LCAiVG9TdHJpbmciLgogCiBOb3RlIHRoYXQg
aWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgYW4gb2JqZWN0LCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24g
aGFzIHNpZGUgZWZmZWN0cyBvbiB0aGUgc2NyaXB0CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9xdC9hcGkvcWphdmFzY3JpcHR2YWx1ZS5oIGIvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FqYXZh
c2NyaXB0dmFsdWUuaAppbmRleCA1N2Q0ZDZkLi42Y2JlZTVhIDEwMDc1NQotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9xdC9hcGkvcWphdmFzY3JpcHR2YWx1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3F0
L2FwaS9xamF2YXNjcmlwdHZhbHVlLmgKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxRRXhw
bGljaXRseVNoYXJlZERhdGFQb2ludGVyPgogCiBjbGFzcyBRSmF2YVNjcmlwdEVuZ2luZTsKK2Ns
YXNzIFFKYXZhU2NyaXB0T2JqZWN0OwogY2xhc3MgUUphdmFTY3JpcHRWYWx1ZVByaXZhdGU7CiB0
eXBlZGVmIFFFeHBsaWNpdGx5U2hhcmVkRGF0YVBvaW50ZXI8UUphdmFTY3JpcHRWYWx1ZVByaXZh
dGU+IFFKYXZhU2NyaXB0VmFsdWVQdHI7CiAKQEAgLTMwLDEwICszMSwxMyBAQCBjbGFzcyBRSmF2
YVNjcmlwdFZhbHVlIHsKIHB1YmxpYzoKICAgICBRSmF2YVNjcmlwdFZhbHVlKCk7CiAgICAgflFK
YXZhU2NyaXB0VmFsdWUoKTsKKyAgICBRSmF2YVNjcmlwdFZhbHVlKGNvbnN0IFFKYXZhU2NyaXB0
VmFsdWUmIG90aGVyKTsKKyAgICBRSmF2YVNjcmlwdFZhbHVlJiBvcGVyYXRvcj0oY29uc3QgUUph
dmFTY3JpcHRWYWx1ZSYgb3RoZXIpOwogCiAgICAgUUphdmFTY3JpcHRFbmdpbmUgZW5naW5lKCk7
CiAgICAgYm9vbCBpc1ZhbGlkKCk7CiAKKyAgICBvcGVyYXRvciBRSmF2YVNjcmlwdE9iamVjdCgp
OwogICAgIFFTdHJpbmcgdG9RU3RyaW5nKCk7CiBwcml2YXRlOgogICAgIFFKYXZhU2NyaXB0VmFs
dWUoUUphdmFTY3JpcHRWYWx1ZVB0ciBkKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3F0
L2FwaS9xamF2YXNjcmlwdHZhbHVlX3AuaCBiL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xamF2YXNj
cmlwdHZhbHVlX3AuaAppbmRleCA3NDk4ZGFjLi4wZjIyYWU4IDEwMDc1NQotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9xdC9hcGkvcWphdmFzY3JpcHR2YWx1ZV9wLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
cXQvYXBpL3FqYXZhc2NyaXB0dmFsdWVfcC5oCkBAIC01Nyw3ICs1NywxMCBAQCBwdWJsaWM6CiAg
ICAgUUphdmFTY3JpcHRFbmdpbmVQdHIgZW5naW5lKCk7CiAgICAgYm9vbCBpc1ZhbGlkKCk7CiAK
KyAgICBRSmF2YVNjcmlwdE9iamVjdFB0ciB0b09iamVjdCgpOwogICAgIFFTdHJpbmcgdG9RU3Ry
aW5nKCk7CisKKyAgICBKU1ZhbHVlUmVmIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsg
fQogcHJpdmF0ZToKICAgICBRSmF2YVNjcmlwdEVuZ2luZVB0ciBtX2VuZ2luZTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcWphdmFzY3JpcHRlbmdpbmUvdHN0X3FqYXZh
c2NyaXB0ZW5naW5lLmNwcCBiL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FqYXZhc2NyaXB0ZW5n
aW5lL3RzdF9xamF2YXNjcmlwdGVuZ2luZS5jcHAKaW5kZXggMjhjOGUyOC4uMDUzYzYwYSAxMDA3
NTUKLS0tIGEvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcWphdmFzY3JpcHRlbmdpbmUvdHN0X3Fq
YXZhc2NyaXB0ZW5naW5lLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xamF2YXNj
cmlwdGVuZ2luZS90c3RfcWphdmFzY3JpcHRlbmdpbmUuY3BwCkBAIC0xOCw2ICsxOCw3IEBACiAq
LwogCiAjaW5jbHVkZSAicWphdmFzY3JpcHRlbmdpbmUuaCIKKyNpbmNsdWRlICJxamF2YXNjcmlw
dHZhbHVlLmgiCiAjaW5jbHVkZSA8UXRUZXN0L1F0VGVzdD4KIAogCg==
</data>
<flag name="review"
          id="27021"
          type_id="1"
          status="-"
          setter="jedrzej.nowacki"
    />
    <flag name="commit-queue"
          id="27022"
          type_id="3"
          status="-"
          setter="jedrzej.nowacki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45059</attachid>
            <date>2009-12-17 06:13:41 -0800</date>
            <delta_ts>2009-12-18 08:18:19 -0800</delta_ts>
            <desc>Autotest V1</desc>
            <filename>objecttestsV1.diff</filename>
            <type>text/plain</type>
            <size>3932</size>
            <attacher name="Jędrzej Nowacki">jedrzej.nowacki</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA0ODUxODk0Li4xNmI3NThlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjcg
QEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBOZXcg
YXV0b3Rlc3RzIGZvciB0aGUgUUphdmFTY3JpcHRPYmplY3QuCisgICAgICAgIAorICAgICAgICBU
aGUgbmV3IGF1dG90ZXN0IGNoZWNrIGEgZnVuY3Rpb24gY2FsbCBmdW5jdGlvbmFsaXR5LgorICAg
ICAgICAKKyAgICAgICAgVGhlIGJ1ZyBpcyBhIHBhcnQgb2YgUUphdmFTY3JpcHQgQVBJIGNvbnN0
cnVjdGlvbiAoYnVnIDMxODYzKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzI2NTcKKworICAgICAgICAqIHF0L3Rlc3RzL3FqYXZhc2NyaXB0b2Jq
ZWN0L3FqYXZhc2NyaXB0b2JqZWN0LnBybzogQWRkZWQuCisgICAgICAgICogcXQvdGVzdHMvcWph
dmFzY3JpcHRvYmplY3QvdHN0X3FqYXZhc2NyaXB0b2JqZWN0LmNwcDogQWRkZWQuCisgICAgICAg
ICh0c3RfUUphdmFTY3JpcHRPYmplY3Q6OnRzdF9RSmF2YVNjcmlwdE9iamVjdCk6CisgICAgICAg
ICh0c3RfUUphdmFTY3JpcHRPYmplY3Q6On50c3RfUUphdmFTY3JpcHRPYmplY3QpOgorICAgICAg
ICAodHN0X1FKYXZhU2NyaXB0T2JqZWN0Ojppbml0KToKKyAgICAgICAgKHRzdF9RSmF2YVNjcmlw
dE9iamVjdDo6Y2xlYW51cCk6CisgICAgICAgICh0c3RfUUphdmFTY3JpcHRPYmplY3Q6OmZ1bmN0
aW9uQ2FsbCk6CisgICAgICAgICogcXQvdGVzdHMvdGVzdHMucHJvOgorCisyMDA5LTEyLTE3ICBK
ZWRyemVqIE5vd2Fja2kgIDxqZWRyemVqLm5vd2Fja2lAbm9raWEuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIEluaXRpYWxpemF0aW9uIG9mIGEg
bmV3IGNsYXNzOyB0aGUgUUphdmFTY3JpcHRPYmplY3QuCiAgICAgICAgIAogICAgICAgICBUaGUg
Y2xhc3MgZW5jYXBzdWxhdGUgdGhlIEpTT2JqZWN0UmVmIGFuZCByZXByZXNlbnQgYSBqYXZhIHNj
cmlwdCBvYmplY3QuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xamF2YXNj
cmlwdG9iamVjdC9xamF2YXNjcmlwdG9iamVjdC5wcm8gYi9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0
cy9xamF2YXNjcmlwdG9iamVjdC9xamF2YXNjcmlwdG9iamVjdC5wcm8KbmV3IGZpbGUgbW9kZSAx
MDA3NTUKaW5kZXggMDAwMDAwMC4uNDQyMDFkMQotLS0gL2Rldi9udWxsCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3F0L3Rlc3RzL3FqYXZhc2NyaXB0b2JqZWN0L3FqYXZhc2NyaXB0b2JqZWN0LnBybwpA
QCAtMCwwICsxLDcgQEAKK1RFTVBMQVRFID0gYXBwCitUQVJHRVQgPSB0c3RfcWphdmFzY3JpcHRv
YmplY3QKK1FUICs9IHRlc3RsaWIKK2luY2x1ZGUoLi4vdGVzdHMucHJpKQorCitTT1VSQ0VTICs9
IHRzdF9xamF2YXNjcmlwdG9iamVjdC5jcHAKKwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
cXQvdGVzdHMvcWphdmFzY3JpcHRvYmplY3QvdHN0X3FqYXZhc2NyaXB0b2JqZWN0LmNwcCBiL0ph
dmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FqYXZhc2NyaXB0b2JqZWN0L3RzdF9xamF2YXNjcmlwdG9i
amVjdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWZmMzEyMwotLS0g
L2Rldi9udWxsCisrKyBiL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FqYXZhc2NyaXB0b2JqZWN0
L3RzdF9xamF2YXNjcmlwdG9iamVjdC5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAgICBDb3B5
cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1p
ZXMpCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorKi8KKworI2luY2x1ZGUgInFqYXZhc2NyaXB0ZW5naW5lLmgiCisjaW5jbHVkZSAicWphdmFz
Y3JpcHRvYmplY3QuaCIKKyNpbmNsdWRlICJxamF2YXNjcmlwdHZhbHVlLmgiCisjaW5jbHVkZSA8
UXRUZXN0L1F0VGVzdD4KKworY2xhc3MgdHN0X1FKYXZhU2NyaXB0T2JqZWN0CisgICAgOiBwdWJs
aWMgUU9iamVjdCB7CisgICAgUV9PQkpFQ1QKKworcHVibGljOgorICAgIHRzdF9RSmF2YVNjcmlw
dE9iamVjdCgpIHt9CisgICAgdmlydHVhbCB+dHN0X1FKYXZhU2NyaXB0T2JqZWN0KCkge30KKwor
cHVibGljIHNsb3RzOgorICAgIHZvaWQgaW5pdCgpIHt9CisgICAgdm9pZCBjbGVhbnVwKCkge30K
KworcHJpdmF0ZSBzbG90czoKKyAgICB2b2lkIGZ1bmN0aW9uQ2FsbCgpOworCit9OworCisvKiBU
ZXN0IGEgc2ltcGxlIGZ1bmN0aW9uIGNhbGwuICovCit2b2lkIHRzdF9RSmF2YVNjcmlwdE9iamVj
dDo6ZnVuY3Rpb25DYWxsKCkKK3sKKyAgICBRSmF2YVNjcmlwdEVuZ2luZSBlbmdpbmU7CisgICAg
ZW5naW5lLmV2YWx1YXRlKCJmdW5jdGlvbiBmb28oKSB7IHJldHVybiAnaGVsbG8nOyB9Iik7Cisg
ICAgUUphdmFTY3JpcHRPYmplY3QgZnVuY3Rpb24gPSBlbmdpbmUuZXZhbHVhdGUoImZvbyIpOwor
ICAgIFFWRVJJRlkoZnVuY3Rpb24uaXNWYWxpZCgpKTsKKyAgICBRSmF2YVNjcmlwdFZhbHVlIHJl
c3VsdCA9IGZ1bmN0aW9uLmNhbGwoKTsKKyAgICBRQ09NUEFSRShyZXN1bHQudG9RU3RyaW5nKCks
IFFTdHJpbmcoImhlbGxvIikpOworfQorCisKK1FURVNUX01BSU4odHN0X1FKYXZhU2NyaXB0T2Jq
ZWN0KQorI2luY2x1ZGUgInRzdF9xamF2YXNjcmlwdG9iamVjdC5tb2MiCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9xdC90ZXN0cy90ZXN0cy5wcm8gYi9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0
cy90ZXN0cy5wcm8KaW5kZXggMWU3NGE3Ny4uNmEzZjQxZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvcXQvdGVzdHMvdGVzdHMucHJvCisrKyBiL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3Rl
c3RzLnBybwpAQCAtMSwzICsxLDQgQEAKIFRFTVBMQVRFID0gc3ViZGlycwogU1VCRElSUyA9ICAg
cWphdmFzY3JpcHRlbmdpbmUgXAotICAgICAgICAgICAgcWphdmFzY3JpcHR2YWx1ZQorICAgICAg
ICAgICAgcWphdmFzY3JpcHR2YWx1ZSBcCisgICAgICAgICAgICBxamF2YXNjcmlwdG9iamVjdAo=
</data>
<flag name="commit-queue"
          id="27024"
          type_id="3"
          status="-"
          setter="jedrzej.nowacki"
    />
          </attachment>
      

    </bug>

</bugzilla>