<?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>86396</bug_id>
          
          <creation_ts>2012-05-14 13:39:56 -0700</creation_ts>
          <short_desc>Add AudioSummingJunction class to handle fan-in (abstracted from AudioNodeInput)</short_desc>
          <delta_ts>2012-05-15 12:56:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Rogers">crogers</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>kbr</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>623264</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-05-14 13:39:56 -0700</bug_when>
    <thetext>Add AudioSummingJunction class to handle fan-in (abstracted from AudioNodeInput)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623276</commentid>
    <comment_count>1</comment_count>
      <attachid>141781</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-05-14 13:45:56 -0700</bug_when>
    <thetext>Created attachment 141781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624368</commentid>
    <comment_count>2</comment_count>
      <attachid>141781</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-05-15 12:09:46 -0700</bug_when>
    <thetext>Comment on attachment 141781
Patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624429</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-05-15 12:56:05 -0700</bug_when>
    <thetext>Committed r117126: &lt;http://trac.webkit.org/changeset/117126&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141781</attachid>
            <date>2012-05-14 13:45:56 -0700</date>
            <delta_ts>2012-05-15 12:09:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86396-20120514134555.patch</filename>
            <type>text/plain</type>
            <size>29022</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2OTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVlODQwMjQ0MGUzM2M2
YzNkNGNhNWQ1ZGE2YTYwYmQ4ZWEyMDU4YS4uYzU0N2I2ZjRiM2E2YmVhYzFiNWUyZGY0N2EwYzFh
NjUzMmI0ODg3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTA1LTE0ICBDaHJp
cyBSb2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CisKKyAgICAgICAgQWRkIEF1ZGlvU3VtbWlu
Z0p1bmN0aW9uIGNsYXNzIHRvIGhhbmRsZSBmYW4taW4gKGFic3RyYWN0ZWQgZnJvbSBBdWRpb05v
ZGVJbnB1dCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2Mzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiAgRXhpc3RpbmcgbGF5b3V0IHRlc3RzIGFscmVhZHkgZXh0ZW5zaXZlbHkg
dGVzdCBzdW1taW5nLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05V
bWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgQWRkIEF1ZGlvU3VtbWluZ0p1bmN0aW9uIGZpbGVz
IHRvIG1ha2VmaWxlcy4KKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0NvbnRleHQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6OmhhbmRsZVByZVJlbmRlclRhc2tzKToK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4dDo6aGFuZGxlUG9zdFJlbmRlclRhc2tzKToK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4dDo6ZGVsZXRlTWFya2VkTm9kZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0OjptYXJrU3VtbWluZ0p1bmN0aW9uRGlydHkpOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0OjpyZW1vdmVNYXJrZWRTdW1taW5nSnVuY3Rp
b24pOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0OjpoYW5kbGVEaXJ0eUF1ZGlvU3Vt
bWluZ0p1bmN0aW9ucyk6CisgICAgICAgIFNpbXBsZSBtdW5nZSBmcm9tIEF1ZGlvTm9kZUlucHV0
IC0+IEF1ZGlvU3VtbWluZ0p1bmN0aW9uCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvTm9kZUlucHV0LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZUlu
cHV0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb05vZGVJbnB1dDo6QXVkaW9Ob2RlSW5wdXQp
OgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Ob2RlSW5wdXQ6OmRpZFVwZGF0ZSk6CisgICAgICAg
IFJlbW92ZSBsb2dpYyBmcm9tIEF1ZGlvTm9kZUlucHV0IHdoaWNoIG5vdyBpcyBiZWluZyBtb3Zl
ZCB0byBBdWRpb1N1bW1pbmdKdW5jdGlvbi4KKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1N1bW1pbmdKdW5jdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9TdW1taW5nSnVuY3Rpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpBdWRpb1N1bW1pbmdKdW5jdGlvbjo6QXVkaW9TdW1taW5nSnVuY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9TdW1taW5nSnVuY3Rpb246On5BdWRpb1N1bW1pbmdKdW5jdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1N1bW1pbmdKdW5jdGlvbjo6Y2hhbmdlZE91dHB1dHMp
OgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TdW1taW5nSnVuY3Rpb246OnVwZGF0ZVJlbmRlcmlu
Z1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU3VtbWluZ0p1bmN0aW9uOjpjb250ZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU3VtbWluZ0p1bmN0aW9uOjpudW1iZXJPZlJlbmRl
cmluZ0Nvbm5lY3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU3VtbWluZ0p1bmN0aW9u
OjpyZW5kZXJpbmdPdXRwdXQpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TdW1taW5nSnVuY3Rp
b246OmlzQ29ubmVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU3VtbWluZ0p1bmN0aW9u
OjpudW1iZXJPZkNvbm5lY3Rpb25zKToKKyAgICAgICAgQWRkIEF1ZGlvU3VtbWluZ0p1bmN0aW9u
IHdoaWNoIGlzIGFuIGFic3RyYWN0aW9uIHRvIG1hbmFnZS90cmFjayB0aGUgY29ubmVjdGlvbnMg
ZnJvbSBBdWRpb05vZGVJbnB1dHMKKyAgICAgICAgcmVwcmVzZW50aW5nIHRoZSBmYW4taW4gcG9p
bnRzIGZvciB1bml0eSBnYWluIHN1bW1pbmcganVuY3Rpb25zLgorCisgICAgICAgICogV2ViQ29y
ZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgQWRkIEF1ZGlvU3VtbWluZ0p1bmN0aW9uIGZpbGVzIHRvIG1ha2VmaWxlcy4KKwogMjAx
Mi0wNS0xNCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFBhZ2lu
YXRpb24gc3BsaXRzIGxpbmVzIHRoYXQgY291bGQgZml0IG9uIGEgc2luZ2xlIHBhZ2UgaWYgaXQg
d2VyZSBub3QgZm9yIHRoZWlyIHRvcCBsZWFkaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDQ4
ZTRiYWMzMjRiOWZjNjFmNzZlOTk1NDJjOTZhOGIzYjk5NGNkMzguLmNlY2UxOGJmY2FiMmJmNzI0
MGRmOGNiZTBjODcxZTI1NzlmYjk5ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNDUzLDYg
KzI0NTMsNyBAQCBJRiAoRU5BQkxFX1dFQl9BVURJTykKICAgICAgICAgTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1BhcmFtVGltZWxpbmUuY3BwCiAgICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Q
cm9jZXNzaW5nRXZlbnQuY3BwCiAgICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVs
ZWRTb3VyY2VOb2RlLmNwcAorICAgICAgICBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3VtbWluZ0p1
bmN0aW9uLmNwcAogICAgICAgICBNb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5jcHAK
ICAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmNwcAogICAgICAgICBN
b2R1bGVzL3dlYmF1ZGlvL0JpcXVhZFByb2Nlc3Nvci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IGZmZTMwODdlYTcwMzljYTlmZmVmMDRhNDY4OTNlMTk0YWYyODY5NWUuLjY2
NDRiYmIzZTI0OTE0ZjJjMThmOWViYTdlYzU5NTQ2YzUwOWY1YmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtNTUyOCw2ICs1NTI4LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50Lmgg
XAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VO
b2RlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxl
ZFNvdXJjZU5vZGUuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1N1
bW1pbmdKdW5jdGlvbi5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9TdW1taW5nSnVuY3Rpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb1NvdXJjZU5vZGUuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1
YWREU1BLZXJuZWwuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVh
ZERTUEtlcm5lbC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmNwcAppbmRleCBmNzQzYjExYTNjNjk5NzYzNjYzZDJjOWNlZjlkOThmOTVkYTUz
OTQxLi5lYTJkNTc5ZWJjNTc2YWZjMzIyYTA4MmU3MGVjMDBjYWI3ZTBjNjQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCkBAIC02NzMs
OCArNjczLDggQEAgdm9pZCBBdWRpb0NvbnRleHQ6OmhhbmRsZVByZVJlbmRlclRhc2tzKCkKICAg
ICAvLyBJdCdzIE9LIGlmIHRoZSB0cnlMb2NrKCkgZmFpbHMsIHdlJ2xsIGp1c3QgdGFrZSBzbGln
aHRseSBsb25nZXIgdG8gcGljayB1cCB0aGUgY2hhbmdlcy4KICAgICBib29sIG11c3RSZWxlYXNl
TG9jazsKICAgICBpZiAodHJ5TG9jayhtdXN0UmVsZWFzZUxvY2spKSB7Ci0gICAgICAgIC8vIEZp
eHVwIHRoZSBzdGF0ZSBvZiBhbnkgZGlydHkgQXVkaW9Ob2RlSW5wdXRzIGFuZCBBdWRpb05vZGVP
dXRwdXRzLgotICAgICAgICBoYW5kbGVEaXJ0eUF1ZGlvTm9kZUlucHV0cygpOworICAgICAgICAv
LyBGaXh1cCB0aGUgc3RhdGUgb2YgYW55IGRpcnR5IEF1ZGlvU3VtbWluZ0p1bmN0aW9ucyBhbmQg
QXVkaW9Ob2RlT3V0cHV0cy4KKyAgICAgICAgaGFuZGxlRGlydHlBdWRpb1N1bW1pbmdKdW5jdGlv
bnMoKTsKICAgICAgICAgaGFuZGxlRGlydHlBdWRpb05vZGVPdXRwdXRzKCk7CiAKICAgICAgICAg
dXBkYXRlQXV0b21hdGljUHVsbE5vZGVzKCk7CkBAIC03MDMsOCArNzAzLDggQEAgdm9pZCBBdWRp
b0NvbnRleHQ6OmhhbmRsZVBvc3RSZW5kZXJUYXNrcygpCiAgICAgICAgIC8vIFJlZi1jb3VudGVk
IG9iamVjdHMgaGVsZCBieSBjZXJ0YWluIEF1ZGlvTm9kZXMgbWF5IG5vdCBiZSB0aHJlYWQtc2Fm
ZS4KICAgICAgICAgc2NoZWR1bGVOb2RlRGVsZXRpb24oKTsKIAotICAgICAgICAvLyBGaXh1cCB0
aGUgc3RhdGUgb2YgYW55IGRpcnR5IEF1ZGlvTm9kZUlucHV0cyBhbmQgQXVkaW9Ob2RlT3V0cHV0
cy4KLSAgICAgICAgaGFuZGxlRGlydHlBdWRpb05vZGVJbnB1dHMoKTsKKyAgICAgICAgLy8gRml4
dXAgdGhlIHN0YXRlIG9mIGFueSBkaXJ0eSBBdWRpb1N1bW1pbmdKdW5jdGlvbnMgYW5kIEF1ZGlv
Tm9kZU91dHB1dHMuCisgICAgICAgIGhhbmRsZURpcnR5QXVkaW9TdW1taW5nSnVuY3Rpb25zKCk7
CiAgICAgICAgIGhhbmRsZURpcnR5QXVkaW9Ob2RlT3V0cHV0cygpOwogCiAgICAgICAgIHVwZGF0
ZUF1dG9tYXRpY1B1bGxOb2RlcygpOwpAQCAtNzc4LDEwICs3NzgsMTAgQEAgdm9pZCBBdWRpb0Nv
bnRleHQ6OmRlbGV0ZU1hcmtlZE5vZGVzKCkKICAgICAgICAgQXVkaW9Ob2RlKiBub2RlID0gbV9u
b2Rlc1RvRGVsZXRlW24gLSAxXTsKICAgICAgICAgbV9ub2Rlc1RvRGVsZXRlLnJlbW92ZUxhc3Qo
KTsKIAotICAgICAgICAvLyBCZWZvcmUgZGVsZXRpbmcgdGhlIG5vZGUsIGNsZWFyIG91dCBhbnkg
QXVkaW9Ob2RlSW5wdXRzIGZyb20gbV9kaXJ0eUF1ZGlvTm9kZUlucHV0cy4KKyAgICAgICAgLy8g
QmVmb3JlIGRlbGV0aW5nIHRoZSBub2RlLCBjbGVhciBvdXQgYW55IEF1ZGlvTm9kZUlucHV0cyBm
cm9tIG1fZGlydHlTdW1taW5nSnVuY3Rpb25zLgogICAgICAgICB1bnNpZ25lZCBudW1iZXJPZklu
cHV0cyA9IG5vZGUtPm51bWJlck9mSW5wdXRzKCk7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBudW1iZXJPZklucHV0czsgKytpKQotICAgICAgICAgICAgbV9kaXJ0eUF1ZGlvTm9k
ZUlucHV0cy5yZW1vdmUobm9kZS0+aW5wdXQoaSkpOworICAgICAgICAgICAgbV9kaXJ0eVN1bW1p
bmdKdW5jdGlvbnMucmVtb3ZlKG5vZGUtPmlucHV0KGkpKTsKIAogICAgICAgICAvLyBCZWZvcmUg
ZGVsZXRpbmcgdGhlIG5vZGUsIGNsZWFyIG91dCBhbnkgQXVkaW9Ob2RlT3V0cHV0cyBmcm9tIG1f
ZGlydHlBdWRpb05vZGVPdXRwdXRzLgogICAgICAgICB1bnNpZ25lZCBudW1iZXJPZk91dHB1dHMg
PSBub2RlLT5udW1iZXJPZk91dHB1dHMoKTsKQEAgLTc5NSwxMCArNzk1LDE3IEBAIHZvaWQgQXVk
aW9Db250ZXh0OjpkZWxldGVNYXJrZWROb2RlcygpCiAgICAgbV9pc0RlbGV0aW9uU2NoZWR1bGVk
ID0gZmFsc2U7CiB9CiAKLXZvaWQgQXVkaW9Db250ZXh0OjptYXJrQXVkaW9Ob2RlSW5wdXREaXJ0
eShBdWRpb05vZGVJbnB1dCogaW5wdXQpCit2b2lkIEF1ZGlvQ29udGV4dDo6bWFya1N1bW1pbmdK
dW5jdGlvbkRpcnR5KEF1ZGlvU3VtbWluZ0p1bmN0aW9uKiBzdW1taW5nSnVuY3Rpb24pCiB7CiAg
ICAgQVNTRVJUKGlzR3JhcGhPd25lcigpKTsgICAgCi0gICAgbV9kaXJ0eUF1ZGlvTm9kZUlucHV0
cy5hZGQoaW5wdXQpOworICAgIG1fZGlydHlTdW1taW5nSnVuY3Rpb25zLmFkZChzdW1taW5nSnVu
Y3Rpb24pOworfQorCit2b2lkIEF1ZGlvQ29udGV4dDo6cmVtb3ZlTWFya2VkU3VtbWluZ0p1bmN0
aW9uKEF1ZGlvU3VtbWluZ0p1bmN0aW9uKiBzdW1taW5nSnVuY3Rpb24pCit7CisgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKKyAgICBBdXRvTG9ja2VyIGxvY2tlcih0aGlzKTsKKyAgICBtX2Rp
cnR5U3VtbWluZ0p1bmN0aW9ucy5yZW1vdmUoc3VtbWluZ0p1bmN0aW9uKTsKIH0KIAogdm9pZCBB
dWRpb0NvbnRleHQ6Om1hcmtBdWRpb05vZGVPdXRwdXREaXJ0eShBdWRpb05vZGVPdXRwdXQqIG91
dHB1dCkKQEAgLTgwNywxNCArODE0LDE0IEBAIHZvaWQgQXVkaW9Db250ZXh0OjptYXJrQXVkaW9O
b2RlT3V0cHV0RGlydHkoQXVkaW9Ob2RlT3V0cHV0KiBvdXRwdXQpCiAgICAgbV9kaXJ0eUF1ZGlv
Tm9kZU91dHB1dHMuYWRkKG91dHB1dCk7CiB9CiAKLXZvaWQgQXVkaW9Db250ZXh0OjpoYW5kbGVE
aXJ0eUF1ZGlvTm9kZUlucHV0cygpCit2b2lkIEF1ZGlvQ29udGV4dDo6aGFuZGxlRGlydHlBdWRp
b1N1bW1pbmdKdW5jdGlvbnMoKQogewogICAgIEFTU0VSVChpc0dyYXBoT3duZXIoKSk7ICAgIAog
Ci0gICAgZm9yIChIYXNoU2V0PEF1ZGlvTm9kZUlucHV0Kj46Oml0ZXJhdG9yIGkgPSBtX2RpcnR5
QXVkaW9Ob2RlSW5wdXRzLmJlZ2luKCk7IGkgIT0gbV9kaXJ0eUF1ZGlvTm9kZUlucHV0cy5lbmQo
KTsgKytpKQorICAgIGZvciAoSGFzaFNldDxBdWRpb1N1bW1pbmdKdW5jdGlvbio+OjppdGVyYXRv
ciBpID0gbV9kaXJ0eVN1bW1pbmdKdW5jdGlvbnMuYmVnaW4oKTsgaSAhPSBtX2RpcnR5U3VtbWlu
Z0p1bmN0aW9ucy5lbmQoKTsgKytpKQogICAgICAgICAoKmkpLT51cGRhdGVSZW5kZXJpbmdTdGF0
ZSgpOwogCi0gICAgbV9kaXJ0eUF1ZGlvTm9kZUlucHV0cy5jbGVhcigpOworICAgIG1fZGlydHlT
dW1taW5nSnVuY3Rpb25zLmNsZWFyKCk7CiB9CiAKIHZvaWQgQXVkaW9Db250ZXh0OjpoYW5kbGVE
aXJ0eUF1ZGlvTm9kZU91dHB1dHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Db250ZXh0LmgKaW5kZXggZWRiODdlN2U0ZmRjODE3ZWRlNmEyOGRmZGIzNGMxN2I4
MWM3MTA1Yy4uMWI3NDJmN2QxM2Q0OTljYmQ0MzQ5NzZmMDI3YmIwNjU1YzViMjQ0OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC01NSw2
ICs1NSw3IEBAIGNsYXNzIEF1ZGlvQ2hhbm5lbFNwbGl0dGVyOwogY2xhc3MgQXVkaW9HYWluTm9k
ZTsKIGNsYXNzIEF1ZGlvUGFubmVyTm9kZTsKIGNsYXNzIEF1ZGlvTGlzdGVuZXI7CitjbGFzcyBB
dWRpb1N1bW1pbmdKdW5jdGlvbjsKIGNsYXNzIEJpcXVhZEZpbHRlck5vZGU7CiBjbGFzcyBEZWxh
eU5vZGU7CiBjbGFzcyBEb2N1bWVudDsKQEAgLTIxOCw5ICsyMTksMTIgQEAgcHVibGljOgogICAg
IHZvaWQgaGFuZGxlRGVmZXJyZWRGaW5pc2hEZXJlZnMoKTsKIAogICAgIC8vIE9ubHkgYWNjZXNz
ZWQgd2hlbiB0aGUgZ3JhcGggbG9jayBpcyBoZWxkLgotICAgIHZvaWQgbWFya0F1ZGlvTm9kZUlu
cHV0RGlydHkoQXVkaW9Ob2RlSW5wdXQqKTsKKyAgICB2b2lkIG1hcmtTdW1taW5nSnVuY3Rpb25E
aXJ0eShBdWRpb1N1bW1pbmdKdW5jdGlvbiopOwogICAgIHZvaWQgbWFya0F1ZGlvTm9kZU91dHB1
dERpcnR5KEF1ZGlvTm9kZU91dHB1dCopOwogCisgICAgLy8gTXVzdCBiZSBjYWxsZWQgb24gbWFp
biB0aHJlYWQuCisgICAgdm9pZCByZW1vdmVNYXJrZWRTdW1taW5nSnVuY3Rpb24oQXVkaW9TdW1t
aW5nSnVuY3Rpb24qKTsKKwogICAgIC8vIEV2ZW50VGFyZ2V0CiAgICAgdmlydHVhbCBjb25zdCBB
dG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdDsKQEAgLTI4NCw5
ICsyODgsOSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0RlbGV0aW9uU2NoZWR1bGVkOwogCiAg
ICAgLy8gT25seSBhY2Nlc3NlZCB3aGVuIHRoZSBncmFwaCBsb2NrIGlzIGhlbGQuCi0gICAgSGFz
aFNldDxBdWRpb05vZGVJbnB1dCo+IG1fZGlydHlBdWRpb05vZGVJbnB1dHM7CisgICAgSGFzaFNl
dDxBdWRpb1N1bW1pbmdKdW5jdGlvbio+IG1fZGlydHlTdW1taW5nSnVuY3Rpb25zOwogICAgIEhh
c2hTZXQ8QXVkaW9Ob2RlT3V0cHV0Kj4gbV9kaXJ0eUF1ZGlvTm9kZU91dHB1dHM7Ci0gICAgdm9p
ZCBoYW5kbGVEaXJ0eUF1ZGlvTm9kZUlucHV0cygpOworICAgIHZvaWQgaGFuZGxlRGlydHlBdWRp
b1N1bW1pbmdKdW5jdGlvbnMoKTsKICAgICB2b2lkIGhhbmRsZURpcnR5QXVkaW9Ob2RlT3V0cHV0
cygpOwogCiAgICAgLy8gRm9yIHRoZSBzYWtlIG9mIHRocmVhZCBzYWZldHksIHdlIG1haW50YWlu
IGEgc2VwZXJhdGUgVmVjdG9yIG9mIGF1dG9tYXRpYyBwdWxsIG5vZGVzIGZvciByZW5kZXJpbmcg
aW4gbV9yZW5kZXJpbmdBdXRvbWF0aWNQdWxsTm9kZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZUlucHV0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlSW5wdXQuY3BwCmluZGV4IDM3NGYyN2ExODdhNDNh
ZTczYWE4ZTQ3ZmY3OGVkYjYzNDEyZGI0NjMuLjZjMmEyMjJhNGNkMDZjZDg3YmM4NTQyMDYxYmYy
NDFlZjAxMTdjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Ob2RlSW5wdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Ob2RlSW5wdXQuY3BwCkBAIC0zOCw4ICszOCw4IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEF1ZGlvTm9kZUlucHV0OjpBdWRpb05vZGVJbnB1dChB
dWRpb05vZGUqIG5vZGUpCi0gICAgOiBtX25vZGUobm9kZSkKLSAgICAsIG1fcmVuZGVyaW5nU3Rh
dGVOZWVkVXBkYXRpbmcoZmFsc2UpCisgICAgOiBBdWRpb1N1bW1pbmdKdW5jdGlvbihub2RlLT5j
b250ZXh0KCkpCisgICAgLCBtX25vZGUobm9kZSkKIHsKICAgICAvLyBTZXQgdG8gbW9ubyBieSBk
ZWZhdWx0LgogICAgIG1faW50ZXJuYWxTdW1taW5nQnVzID0gYWRvcHRQdHIobmV3IEF1ZGlvQnVz
KDEsIEF1ZGlvTm9kZTo6UHJvY2Vzc2luZ1NpemVJbkZyYW1lcykpOwpAQCAtMTMwLDMzICsxMzAs
OSBAQCB2b2lkIEF1ZGlvTm9kZUlucHV0OjplbmFibGUoQXVkaW9Ob2RlT3V0cHV0KiBvdXRwdXQp
CiAgICAgbm9kZSgpLT5kZXJlZihBdWRpb05vZGU6OlJlZlR5cGVEaXNhYmxlZCk7IC8vIE5vdGU6
IGl0J3MgaW1wb3J0YW50IHRvIHJldHVybiBpbW1lZGlhdGVseSBhZnRlciBhbGwgZGVyZWYoKSBj
YWxscyBzaW5jZSB0aGUgbm9kZSBtYXkgYmUgZGVsZXRlZC4KIH0KIAotdm9pZCBBdWRpb05vZGVJ
bnB1dDo6Y2hhbmdlZE91dHB1dHMoKQordm9pZCBBdWRpb05vZGVJbnB1dDo6ZGlkVXBkYXRlKCkK
IHsKLSAgICBBU1NFUlQoY29udGV4dCgpLT5pc0dyYXBoT3duZXIoKSk7Ci0gICAgaWYgKCFtX3Jl
bmRlcmluZ1N0YXRlTmVlZFVwZGF0aW5nICYmICFub2RlKCktPmlzTWFya2VkRm9yRGVsZXRpb24o
KSkgeyAgICAKLSAgICAgICAgY29udGV4dCgpLT5tYXJrQXVkaW9Ob2RlSW5wdXREaXJ0eSh0aGlz
KTsKLSAgICAgICAgbV9yZW5kZXJpbmdTdGF0ZU5lZWRVcGRhdGluZyA9IHRydWU7Ci0gICAgfQot
fQotCi12b2lkIEF1ZGlvTm9kZUlucHV0Ojp1cGRhdGVSZW5kZXJpbmdTdGF0ZSgpCi17Ci0gICAg
QVNTRVJUKGNvbnRleHQoKS0+aXNBdWRpb1RocmVhZCgpICYmIGNvbnRleHQoKS0+aXNHcmFwaE93
bmVyKCkpOwotICAgIAotICAgIGlmIChtX3JlbmRlcmluZ1N0YXRlTmVlZFVwZGF0aW5nICYmICFu
b2RlKCktPmlzTWFya2VkRm9yRGVsZXRpb24oKSkgewotICAgICAgICAvLyBDb3B5IGZyb20gbV9v
dXRwdXRzIHRvIG1fcmVuZGVyaW5nT3V0cHV0cy4KLSAgICAgICAgbV9yZW5kZXJpbmdPdXRwdXRz
LnJlc2l6ZShtX291dHB1dHMuc2l6ZSgpKTsKLSAgICAgICAgdW5zaWduZWQgaiA9IDA7Ci0gICAg
ICAgIGZvciAoSGFzaFNldDxBdWRpb05vZGVPdXRwdXQqPjo6aXRlcmF0b3IgaSA9IG1fb3V0cHV0
cy5iZWdpbigpOyBpICE9IG1fb3V0cHV0cy5lbmQoKTsgKytpLCArK2opIHsKLSAgICAgICAgICAg
IEF1ZGlvTm9kZU91dHB1dCogb3V0cHV0ID0gKmk7Ci0gICAgICAgICAgICBtX3JlbmRlcmluZ091
dHB1dHNbal0gPSBvdXRwdXQ7Ci0gICAgICAgICAgICBvdXRwdXQtPnVwZGF0ZVJlbmRlcmluZ1N0
YXRlKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBub2RlKCktPmNoZWNrTnVtYmVyT2ZDaGFubmVs
c0ZvcklucHV0KHRoaXMpOwotICAgICAgICAKLSAgICAgICAgbV9yZW5kZXJpbmdTdGF0ZU5lZWRV
cGRhdGluZyA9IGZhbHNlOwotICAgIH0KKyAgICBub2RlKCktPmNoZWNrTnVtYmVyT2ZDaGFubmVs
c0ZvcklucHV0KHRoaXMpOwogfQogCiB2b2lkIEF1ZGlvTm9kZUlucHV0Ojp1cGRhdGVJbnRlcm5h
bEJ1cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Tm9kZUlucHV0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZUlu
cHV0LmgKaW5kZXggOThiN2Y0NjBkNzQ4YzJmNDA0NzQ5YTg5ZDg5N2Q2ZjUwZjU1NzE2ZC4uNzZh
NDE2MTAyZGUxZWFjYmRmNDU2YzMyYjZkMzgwZWZlMDI4NzY0YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGVJbnB1dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlSW5wdXQuaApAQCAtMjcsNiArMjcsNyBA
QAogCiAjaW5jbHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb05vZGUuaCIKKyNpbmNs
dWRlICJBdWRpb1N1bW1pbmdKdW5jdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOSwxMyArNDAsMTYgQEAgY2xhc3MgQXVkaW9O
b2RlT3V0cHV0OwogLy8gSW4gdGhlIGNhc2Ugb2YgbXVsdGlwbGUgY29ubmVjdGlvbnMsIHRoZSBp
bnB1dCB3aWxsIGFjdCBhcyBhIHVuaXR5LWdhaW4gc3VtbWluZyBqdW5jdGlvbiwgbWl4aW5nIGFs
bCB0aGUgb3V0cHV0cy4KIC8vIFRoZSBudW1iZXIgb2YgY2hhbm5lbHMgb2YgdGhlIGlucHV0J3Mg
YnVzIGlzIHRoZSBtYXhpbXVtIG9mIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgb2YgYWxsIGl0cyBj
b25uZWN0aW9ucy4KIAotY2xhc3MgQXVkaW9Ob2RlSW5wdXQgeworY2xhc3MgQXVkaW9Ob2RlSW5w
dXQgOiBwdWJsaWMgQXVkaW9TdW1taW5nSnVuY3Rpb24gewogcHVibGljOgogICAgIEF1ZGlvTm9k
ZUlucHV0KEF1ZGlvTm9kZSopOwogCisgICAgLy8gQXVkaW9TdW1taW5nSnVuY3Rpb24KKyAgICB2
aXJ0dWFsIGJvb2wgY2FuVXBkYXRlU3RhdGUoKSBPVkVSUklERSB7IHJldHVybiAhbm9kZSgpLT5p
c01hcmtlZEZvckRlbGV0aW9uKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlKCkgT1ZF
UlJJREU7CisKICAgICAvLyBDYW4gYmUgY2FsbGVkIGZyb20gYW55IHRocmVhZC4KICAgICBBdWRp
b05vZGUqIG5vZGUoKSBjb25zdCB7IHJldHVybiBtX25vZGU7IH0KLSAgICBBdWRpb0NvbnRleHQq
IGNvbnRleHQoKSB7IHJldHVybiBtX25vZGUtPmNvbnRleHQoKTsgfQogCiAgICAgLy8gTXVzdCBi
ZSBjYWxsZWQgd2l0aCB0aGUgY29udGV4dCdzIGdyYXBoIGxvY2suCiAgICAgdm9pZCBjb25uZWN0
KEF1ZGlvTm9kZU91dHB1dCopOwpAQCAtNjgsNDYgKzcyLDE2IEBAIHB1YmxpYzoKICAgICAvLyBD
YWxsZWQgZnJvbSBjb250ZXh0J3MgYXVkaW8gdGhyZWFkLgogICAgIEF1ZGlvQnVzKiBidXMoKTsK
ICAgICAKLSAgICAvLyBUaGlzIGNvcGllcyBtX291dHB1dHMgdG8gbV9yZW5kZXJpbmdPdXRwdXRz
LiAgUGxlYXNlIHNlZSBjb21tZW50cyBmb3IgdGhlc2UgbGlzdHMgYmVsb3cuCi0gICAgLy8gVGhp
cyBtdXN0IGJlIGNhbGxlZCB3aGVuIHdlIG93biB0aGUgY29udGV4dCdzIGdyYXBoIGxvY2sgaW4g
dGhlIGF1ZGlvIHRocmVhZCBhdCB0aGUgdmVyeSBzdGFydCBvciBlbmQgb2YgdGhlIHJlbmRlciBx
dWFudHVtLgotICAgIHZvaWQgdXBkYXRlUmVuZGVyaW5nU3RhdGUoKTsKLQogICAgIC8vIHVwZGF0
ZUludGVybmFsQnVzKCkgdXBkYXRlcyBtX2ludGVybmFsU3VtbWluZ0J1cyBhcHByb3ByaWF0ZWx5
IGZvciB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzLgogICAgIC8vIFRoaXMgbXVzdCBiZSBjYWxsZWQg
d2hlbiB3ZSBvd24gdGhlIGNvbnRleHQncyBncmFwaCBsb2NrIGluIHRoZSBhdWRpbyB0aHJlYWQg
YXQgdGhlIHZlcnkgc3RhcnQgb3IgZW5kIG9mIHRoZSByZW5kZXIgcXVhbnR1bS4KICAgICB2b2lk
IHVwZGF0ZUludGVybmFsQnVzKCk7CiAKLSAgICAvLyBSZW5kZXJpbmcgY29kZSBhY2Nlc3NlcyBp
dHMgdmVyc2lvbiBvZiB0aGUgY3VycmVudCBjb25uZWN0aW9ucyBoZXJlLgotICAgIHVuc2lnbmVk
IG51bWJlck9mUmVuZGVyaW5nQ29ubmVjdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlcmlu
Z091dHB1dHMuc2l6ZSgpOyB9Ci0gICAgQXVkaW9Ob2RlT3V0cHV0KiByZW5kZXJpbmdPdXRwdXQo
dW5zaWduZWQgaSkgeyByZXR1cm4gbV9yZW5kZXJpbmdPdXRwdXRzW2ldOyB9Ci0gICAgY29uc3Qg
QXVkaW9Ob2RlT3V0cHV0KiByZW5kZXJpbmdPdXRwdXQodW5zaWduZWQgaSkgY29uc3QgeyByZXR1
cm4gbV9yZW5kZXJpbmdPdXRwdXRzW2ldOyB9Ci0gICAgYm9vbCBpc0Nvbm5lY3RlZCgpIGNvbnN0
IHsgcmV0dXJuIG51bWJlck9mUmVuZGVyaW5nQ29ubmVjdGlvbnMoKSA+IDA7IH0KLQogICAgIC8v
IFRoZSBudW1iZXIgb2YgY2hhbm5lbHMgb2YgdGhlIGNvbm5lY3Rpb24gd2l0aCB0aGUgbGFyZ2Vz
dCBudW1iZXIgb2YgY2hhbm5lbHMuCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZDaGFubmVscygpIGNv
bnN0OyAgICAgICAgCiAgICAgCiBwcml2YXRlOgogICAgIEF1ZGlvTm9kZSogbV9ub2RlOwogCi0g
ICAgLy8gbV9vdXRwdXRzIGNvbnRhaW5zIHRoZSBBdWRpb05vZGVPdXRwdXRzIHJlcHJlc2VudGlu
ZyBjdXJyZW50IGNvbm5lY3Rpb25zIHdoaWNoIGFyZSBub3QgZGlzYWJsZWQuCi0gICAgLy8gVGhl
IHJlbmRlcmluZyBjb2RlIHNob3VsZCBuZXZlciB1c2UgdGhpcyBkaXJlY3RseSwgYnV0IGluc3Rl
YWQgdXNlcyBtX3JlbmRlcmluZ091dHB1dHMuCi0gICAgSGFzaFNldDxBdWRpb05vZGVPdXRwdXQq
PiBtX291dHB1dHM7Ci0KLSAgICAvLyBudW1iZXJPZkNvbm5lY3Rpb25zKCkgc2hvdWxkIG5ldmVy
IGJlIGNhbGxlZCBmcm9tIHRoZSBhdWRpbyByZW5kZXJpbmcgdGhyZWFkLgotICAgIC8vIEluc3Rl
YWQgbnVtYmVyT2ZSZW5kZXJpbmdDb25uZWN0aW9ucygpIGFuZCByZW5kZXJpbmdPdXRwdXQoKSBz
aG91bGQgYmUgdXNlZC4KLSAgICB1bnNpZ25lZCBudW1iZXJPZkNvbm5lY3Rpb25zKCkgY29uc3Qg
eyByZXR1cm4gbV9vdXRwdXRzLnNpemUoKTsgfQotCi0gICAgLy8gVGhpcyBtdXN0IGJlIGNhbGxl
ZCB3aGVuZXZlciB3ZSBtb2RpZnkgbV9vdXRwdXRzLgotICAgIHZvaWQgY2hhbmdlZE91dHB1dHMo
KTsKLSAgICAKLSAgICAvLyBtX3JlbmRlcmluZ091dHB1dHMgaXMgYSBjb3B5IG9mIG1fb3V0cHV0
cyB3aGljaCB3aWxsIG5ldmVyIGJlIG1vZGlmaWVkIGR1cmluZyB0aGUgZ3JhcGggcmVuZGVyaW5n
IG9uIHRoZSBhdWRpbyB0aHJlYWQuCi0gICAgLy8gVGhpcyBpcyB0aGUgbGlzdCB3aGljaCBpcyB1
c2VkIGJ5IHRoZSByZW5kZXJpbmcgY29kZS4KLSAgICAvLyBXaGVuZXZlciBtX291dHB1dHMgaXMg
bW9kaWZpZWQsIHRoZSBjb250ZXh0IGlzIHRvbGQgc28gaXQgY2FuIGxhdGVyIHVwZGF0ZSBtX3Jl
bmRlcmluZ091dHB1dHMgZnJvbSBtX291dHB1dHMgYXQgYSBzYWZlIHRpbWUuCi0gICAgLy8gTW9z
dCBvZiB0aGUgdGltZSwgbV9yZW5kZXJpbmdPdXRwdXRzIGlzIGlkZW50aWNhbCB0byBtX291dHB1
dHMuCi0gICAgVmVjdG9yPEF1ZGlvTm9kZU91dHB1dCo+IG1fcmVuZGVyaW5nT3V0cHV0czsKLQot
ICAgIC8vIG1fcmVuZGVyaW5nU3RhdGVOZWVkVXBkYXRpbmcga2VlcHMgdHJhY2sgaWYgbV9vdXRw
dXRzIGlzIG1vZGlmaWVkLgotICAgIGJvb2wgbV9yZW5kZXJpbmdTdGF0ZU5lZWRVcGRhdGluZzsK
LQogICAgIC8vIFRoZSBudW1iZXIgb2YgY2hhbm5lbHMgb2YgdGhlIHJlbmRlcmluZyBjb25uZWN0
aW9uIHdpdGggdGhlIGxhcmdlc3QgbnVtYmVyIG9mIGNoYW5uZWxzLgogICAgIHVuc2lnbmVkIG51
bWJlck9mUmVuZGVyaW5nQ2hhbm5lbHMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb1N1bW1pbmdKdW5jdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
ZDgxY2FkYTVhMzBkYTZlYjc5N2NhMTJhMzM0MTM2ZmVkN2E3YTdhCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1N1bW1pbmdKdW5jdGlvbi5j
cHAKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiwgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKwor
I2lmIEVOQUJMRShXRUJfQVVESU8pCisKKyNpbmNsdWRlICJBdWRpb1N1bW1pbmdKdW5jdGlvbi5o
IgorCisjaW5jbHVkZSAiQXVkaW9Db250ZXh0LmgiCisjaW5jbHVkZSAiQXVkaW9Ob2RlT3V0cHV0
LmgiCisjaW5jbHVkZSA8YWxnb3JpdGhtPgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0F1ZGlvU3VtbWluZ0p1bmN0aW9uOjpBdWRpb1N1bW1pbmdKdW5j
dGlvbihBdWRpb0NvbnRleHQqIGNvbnRleHQpCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAg
ICAsIG1fcmVuZGVyaW5nU3RhdGVOZWVkVXBkYXRpbmcoZmFsc2UpCit7Cit9CisKK0F1ZGlvU3Vt
bWluZ0p1bmN0aW9uOjp+QXVkaW9TdW1taW5nSnVuY3Rpb24oKQoreworICAgIGlmIChtX3JlbmRl
cmluZ1N0YXRlTmVlZFVwZGF0aW5nICYmIG1fY29udGV4dC5nZXQoKSkKKyAgICAgICAgbV9jb250
ZXh0LT5yZW1vdmVNYXJrZWRTdW1taW5nSnVuY3Rpb24odGhpcyk7Cit9CisKK3ZvaWQgQXVkaW9T
dW1taW5nSnVuY3Rpb246OmNoYW5nZWRPdXRwdXRzKCkKK3sKKyAgICBBU1NFUlQoY29udGV4dCgp
LT5pc0dyYXBoT3duZXIoKSk7CisgICAgaWYgKCFtX3JlbmRlcmluZ1N0YXRlTmVlZFVwZGF0aW5n
ICYmIGNhblVwZGF0ZVN0YXRlKCkpIHsKKyAgICAgICAgY29udGV4dCgpLT5tYXJrU3VtbWluZ0p1
bmN0aW9uRGlydHkodGhpcyk7CisgICAgICAgIG1fcmVuZGVyaW5nU3RhdGVOZWVkVXBkYXRpbmcg
PSB0cnVlOworICAgIH0KK30KKwordm9pZCBBdWRpb1N1bW1pbmdKdW5jdGlvbjo6dXBkYXRlUmVu
ZGVyaW5nU3RhdGUoKQoreworICAgIEFTU0VSVChjb250ZXh0KCktPmlzQXVkaW9UaHJlYWQoKSAm
JiBjb250ZXh0KCktPmlzR3JhcGhPd25lcigpKTsKKworICAgIGlmIChtX3JlbmRlcmluZ1N0YXRl
TmVlZFVwZGF0aW5nICYmIGNhblVwZGF0ZVN0YXRlKCkpIHsKKyAgICAgICAgLy8gQ29weSBmcm9t
IG1fb3V0cHV0cyB0byBtX3JlbmRlcmluZ091dHB1dHMuCisgICAgICAgIG1fcmVuZGVyaW5nT3V0
cHV0cy5yZXNpemUobV9vdXRwdXRzLnNpemUoKSk7CisgICAgICAgIHVuc2lnbmVkIGogPSAwOwor
ICAgICAgICBmb3IgKEhhc2hTZXQ8QXVkaW9Ob2RlT3V0cHV0Kj46Oml0ZXJhdG9yIGkgPSBtX291
dHB1dHMuYmVnaW4oKTsgaSAhPSBtX291dHB1dHMuZW5kKCk7ICsraSwgKytqKSB7CisgICAgICAg
ICAgICBBdWRpb05vZGVPdXRwdXQqIG91dHB1dCA9ICppOworICAgICAgICAgICAgbV9yZW5kZXJp
bmdPdXRwdXRzW2pdID0gb3V0cHV0OworICAgICAgICAgICAgb3V0cHV0LT51cGRhdGVSZW5kZXJp
bmdTdGF0ZSgpOworICAgICAgICB9CisKKyAgICAgICAgZGlkVXBkYXRlKCk7CisKKyAgICAgICAg
bV9yZW5kZXJpbmdTdGF0ZU5lZWRVcGRhdGluZyA9IGZhbHNlOworICAgIH0KK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TdW1taW5nSnVuY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TdW1taW5nSnVuY3Rpb24u
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kZDVlNDQyN2Q0NDNiYTFjMGIwMTM1MTI5NTJjYTc4NmJiNjVhZjAzCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1N1
bW1pbmdKdW5jdGlvbi5oCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEF1
ZGlvU3VtbWluZ0p1bmN0aW9uX2gKKyNkZWZpbmUgQXVkaW9TdW1taW5nSnVuY3Rpb25faAorCisj
aW5jbHVkZSAiQXVkaW9CdXMuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBdWRpb0NvbnRl
eHQ7CitjbGFzcyBBdWRpb05vZGVPdXRwdXQ7CisKKy8vIEFuIEF1ZGlvU3VtbWluZ0p1bmN0aW9u
IHJlcHJlc2VudHMgYSBwb2ludCB3aGVyZSB6ZXJvLCBvbmUsIG9yIG1vcmUgQXVkaW9Ob2RlT3V0
cHV0cyBjb25uZWN0LgorCitjbGFzcyBBdWRpb1N1bW1pbmdKdW5jdGlvbiB7CitwdWJsaWM6Cisg
ICAgQXVkaW9TdW1taW5nSnVuY3Rpb24oQXVkaW9Db250ZXh0Kik7CisgICAgdmlydHVhbCB+QXVk
aW9TdW1taW5nSnVuY3Rpb24oKTsKKworICAgIC8vIENhbiBiZSBjYWxsZWQgZnJvbSBhbnkgdGhy
ZWFkLgorICAgIEF1ZGlvQ29udGV4dCogY29udGV4dCgpIHsgcmV0dXJuIG1fY29udGV4dC5nZXQo
KTsgfQorCisgICAgLy8gVGhpcyBtdXN0IGJlIGNhbGxlZCB3aGVuZXZlciB3ZSBtb2RpZnkgbV9v
dXRwdXRzLgorICAgIHZvaWQgY2hhbmdlZE91dHB1dHMoKTsKKworICAgIC8vIFRoaXMgY29waWVz
IG1fb3V0cHV0cyB0byBtX3JlbmRlcmluZ091dHB1dHMuIFBsZWFzZSBzZWUgY29tbWVudHMgZm9y
IHRoZXNlIGxpc3RzIGJlbG93LgorICAgIC8vIFRoaXMgbXVzdCBiZSBjYWxsZWQgd2hlbiB3ZSBv
d24gdGhlIGNvbnRleHQncyBncmFwaCBsb2NrIGluIHRoZSBhdWRpbyB0aHJlYWQgYXQgdGhlIHZl
cnkgc3RhcnQgb3IgZW5kIG9mIHRoZSByZW5kZXIgcXVhbnR1bS4KKyAgICB2b2lkIHVwZGF0ZVJl
bmRlcmluZ1N0YXRlKCk7CisKKyAgICAvLyBSZW5kZXJpbmcgY29kZSBhY2Nlc3NlcyBpdHMgdmVy
c2lvbiBvZiB0aGUgY3VycmVudCBjb25uZWN0aW9ucyBoZXJlLgorICAgIHVuc2lnbmVkIG51bWJl
ck9mUmVuZGVyaW5nQ29ubmVjdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlcmluZ091dHB1
dHMuc2l6ZSgpOyB9CisgICAgQXVkaW9Ob2RlT3V0cHV0KiByZW5kZXJpbmdPdXRwdXQodW5zaWdu
ZWQgaSkgeyByZXR1cm4gbV9yZW5kZXJpbmdPdXRwdXRzW2ldOyB9CisgICAgY29uc3QgQXVkaW9O
b2RlT3V0cHV0KiByZW5kZXJpbmdPdXRwdXQodW5zaWduZWQgaSkgY29uc3QgeyByZXR1cm4gbV9y
ZW5kZXJpbmdPdXRwdXRzW2ldOyB9CisgICAgYm9vbCBpc0Nvbm5lY3RlZCgpIGNvbnN0IHsgcmV0
dXJuIG51bWJlck9mUmVuZGVyaW5nQ29ubmVjdGlvbnMoKSA+IDA7IH0KKworICAgIHZpcnR1YWwg
Ym9vbCBjYW5VcGRhdGVTdGF0ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlKCkg
PSAwOworCitwcm90ZWN0ZWQ6CisgICAgUmVmUHRyPEF1ZGlvQ29udGV4dD4gbV9jb250ZXh0Owor
CisgICAgLy8gbV9vdXRwdXRzIGNvbnRhaW5zIHRoZSBBdWRpb05vZGVPdXRwdXRzIHJlcHJlc2Vu
dGluZyBjdXJyZW50IGNvbm5lY3Rpb25zIHdoaWNoIGFyZSBub3QgZGlzYWJsZWQuCisgICAgLy8g
VGhlIHJlbmRlcmluZyBjb2RlIHNob3VsZCBuZXZlciB1c2UgdGhpcyBkaXJlY3RseSwgYnV0IGlu
c3RlYWQgdXNlcyBtX3JlbmRlcmluZ091dHB1dHMuCisgICAgSGFzaFNldDxBdWRpb05vZGVPdXRw
dXQqPiBtX291dHB1dHM7CisKKyAgICAvLyBudW1iZXJPZkNvbm5lY3Rpb25zKCkgc2hvdWxkIG5l
dmVyIGJlIGNhbGxlZCBmcm9tIHRoZSBhdWRpbyByZW5kZXJpbmcgdGhyZWFkLgorICAgIC8vIElu
c3RlYWQgbnVtYmVyT2ZSZW5kZXJpbmdDb25uZWN0aW9ucygpIGFuZCByZW5kZXJpbmdPdXRwdXQo
KSBzaG91bGQgYmUgdXNlZC4KKyAgICB1bnNpZ25lZCBudW1iZXJPZkNvbm5lY3Rpb25zKCkgY29u
c3QgeyByZXR1cm4gbV9vdXRwdXRzLnNpemUoKTsgfQorCisgICAgLy8gbV9yZW5kZXJpbmdPdXRw
dXRzIGlzIGEgY29weSBvZiBtX291dHB1dHMgd2hpY2ggd2lsbCBuZXZlciBiZSBtb2RpZmllZCBk
dXJpbmcgdGhlIGdyYXBoIHJlbmRlcmluZyBvbiB0aGUgYXVkaW8gdGhyZWFkLgorICAgIC8vIFRo
aXMgaXMgdGhlIGxpc3Qgd2hpY2ggaXMgdXNlZCBieSB0aGUgcmVuZGVyaW5nIGNvZGUuCisgICAg
Ly8gV2hlbmV2ZXIgbV9vdXRwdXRzIGlzIG1vZGlmaWVkLCB0aGUgY29udGV4dCBpcyB0b2xkIHNv
IGl0IGNhbiBsYXRlciB1cGRhdGUgbV9yZW5kZXJpbmdPdXRwdXRzIGZyb20gbV9vdXRwdXRzIGF0
IGEgc2FmZSB0aW1lLgorICAgIC8vIE1vc3Qgb2YgdGhlIHRpbWUsIG1fcmVuZGVyaW5nT3V0cHV0
cyBpcyBpZGVudGljYWwgdG8gbV9vdXRwdXRzLgorICAgIFZlY3RvcjxBdWRpb05vZGVPdXRwdXQq
PiBtX3JlbmRlcmluZ091dHB1dHM7CisKKyAgICAvLyBtX3JlbmRlcmluZ1N0YXRlTmVlZFVwZGF0
aW5nIGtlZXBzIHRyYWNrIGlmIG1fb3V0cHV0cyBpcyBtb2RpZmllZC4KKyAgICBib29sIG1fcmVu
ZGVyaW5nU3RhdGVOZWVkVXBkYXRpbmc7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBBdWRpb1N1bW1pbmdKdW5jdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZGY1
Y2NjNTdmMDViMzIxYmQ1MWQ4MGJhNTRhYjFlMmQyYTNhNzlkYi4uYjJkYWE5ZGIxNThjNjVlYTUz
MjQyODlmNzk3ZWU4NjdmOGMwYzlmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTYwNSw2ICsxNjA1
LDggQEAKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNl
Tm9kZS5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRT
b3VyY2VOb2RlLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Tb3VyY2VO
b2RlLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TdW1taW5nSnVuY3Rp
b24uY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU3VtbWluZ0p1bmN0
aW9uLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0RlY29kZXIu
Y3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmgn
LAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggNDRkZjFmNWJjZTM2ODI5ZDMwODE0NTk4NDQ0ZDcyNmQ2ZDdhYjA3Yy4uYTJiZmE5OTQ0Y2Nj
N2FkMzVkMGMwMGQ3OGI3YmEwNGFmMDkzYzQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjM2Nyw2ICs2MzY3LDggQEAKIAkJ
RkRBM0U5NUMxMzRBNDlFRjAwOEQ0QjVBIC8qIE9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRBM0U5NTgx
MzRBNDlFRjAwOEQ0QjVBIC8qIE9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oICovOyB9Owog
CQlGREFGMTk5ODE1MTNEMTMxMDA4REIwQzMgLyogRGlyZWN0Q29udm9sdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEQUYxOTk2MTUxM0QxMzEw
MDhEQjBDMyAvKiBEaXJlY3RDb252b2x2ZXIuY3BwICovOyB9OwogCQlGREFGMTk5OTE1MTNEMTMx
MDA4REIwQzMgLyogRGlyZWN0Q29udm9sdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGREFGMTk5NzE1MTNEMTMxMDA4REIwQzMgLyogRGlyZWN0Q29u
dm9sdmVyLmggKi87IH07CisJCUZEQjA1MkRGMTU2MUE0MkMwMEI1MDBENiAvKiBBdWRpb1N1bW1p
bmdKdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGREIwNTJERDE1NjFBNDJDMDBCNTAwRDYgLyogQXVkaW9TdW1taW5nSnVuY3Rpb24uY3Bw
ICovOyB9OworCQlGREIwNTJFMDE1NjFBNDJDMDBCNTAwRDYgLyogQXVkaW9TdW1taW5nSnVuY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEQjA1
MkRFMTU2MUE0MkMwMEI1MDBENiAvKiBBdWRpb1N1bW1pbmdKdW5jdGlvbi5oICovOyB9OwogCQlG
REIxNzAwNTE0QTJCQUIyMDBBMkI1RDkgLyogTXVsdGlDaGFubmVsUmVzYW1wbGVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEQjE3MDAzMTRBMkJB
QjIwMEEyQjVEOSAvKiBNdWx0aUNoYW5uZWxSZXNhbXBsZXIuY3BwICovOyB9OwogCQlGREIxNzAw
NjE0QTJCQUIyMDBBMkI1RDkgLyogTXVsdGlDaGFubmVsUmVzYW1wbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREIxNzAwNDE0QTJCQUIyMDBBMkI1
RDkgLyogTXVsdGlDaGFubmVsUmVzYW1wbGVyLmggKi87IH07CiAJCUZEQzU0RjA0MTM5OUIwREEw
MDhEOTExNyAvKiBCaXF1YWRGaWx0ZXJOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEQzU0RjAxMTM5OUIwREEwMDhEOTExNyAvKiBCaXF1YWRG
aWx0ZXJOb2RlLmNwcCAqLzsgfTsKQEAgLTEzNjEyLDYgKzEzNjE0LDggQEAKIAkJRkRBM0U5NUQx
MzRBNDlGRjAwOEQ0QjVBIC8qIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50LmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkRBRjE5OTYxNTEzRDEzMTAwOERCMEMzIC8qIERpcmVj
dENvbnZvbHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXJl
Y3RDb252b2x2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGREFGMTk5NzE1
MTNEMTMxMDA4REIwQzMgLyogRGlyZWN0Q29udm9sdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERpcmVjdENvbnZvbHZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGREIwNTJERDE1NjFBNDJDMDBCNTAwRDYgLyogQXVkaW9TdW1taW5nSnVuY3Rpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9TdW1taW5nSnVuY3Rp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGREIwNTJERTE1NjFBNDJDMDBC
NTAwRDYgLyogQXVkaW9TdW1taW5nSnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQXVkaW9TdW1taW5nSnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRkRCMTcwMDMxNEEyQkFCMjAwQTJCNUQ5IC8qIE11bHRpQ2hhbm5lbFJlc2FtcGxlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNdWx0aUNoYW5uZWxSZXNh
bXBsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGREIxNzAwNDE0QTJCQUIy
MDBBMkI1RDkgLyogTXVsdGlDaGFubmVsUmVzYW1wbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE11bHRpQ2hhbm5lbFJlc2FtcGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGREM1NEYwMTEzOTlCMERBMDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9kZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCaXF1YWRGaWx0ZXJOb2Rl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMzk1LDggKzIwMzk5LDYgQEAK
IAkJCQkyRTNCQkYwNTExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgKi8sCiAJCQkJMkUzQkJG
MDYxMTYyREExMTAwQjk0MDlBIC8qIFVVSUQuaCAqLywKIAkJCQk1MTU3ODhDMDEyMDc4NTJDMDBB
MzdDNEEgLyogVmlzaXRlZExpbmtTdHJhdGVneS5oICovLAotCQkJCUQ2RkRBRUYyMTQ5QzA2MTkw
MDM3QjFFNSAvKiBWaXNpdGVkTGlua3MuY3BwICovLAotCQkJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVC
MkY5NyAvKiBWaXNpdGVkTGlua3MuaCAqLywKIAkJCQk5MzgwRjQ3MTA5QTExQUI0MDAxRkRCMzQg
LyogV2lkZ2V0LmNwcCAqLywKIAkJCQk5MzgwRjQ3MjA5QTExQUI0MDAxRkRCMzQgLyogV2lkZ2V0
LmggKi8sCiAJCQkJRTFFMUJFRkYxMTVGRjZGQjAwNkY1MkNBIC8qIFdpbmRvd3NLZXlib2FyZENv
ZGVzLmggKi8sCkBAIC0yMTQ1Niw2ICsyMTQ1OCw4IEBACiAJCQkJRkQzMTVGRDcxMkIwMjY3NjAw
QzFBMzU5IC8qIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50LmlkbCAqLywKIAkJCQlGRDhDNDZFOTE1NDYw
OEU3MDBBNTkxMEMgLyogQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmNwcCAqLywKIAkJCQlGRDhD
NDZFQTE1NDYwOEU3MDBBNTkxMEMgLyogQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmggKi8sCisJ
CQkJRkRCMDUyREQxNTYxQTQyQzAwQjUwMEQ2IC8qIEF1ZGlvU3VtbWluZ0p1bmN0aW9uLmNwcCAq
LywKKwkJCQlGREIwNTJERTE1NjFBNDJDMDBCNTAwRDYgLyogQXVkaW9TdW1taW5nSnVuY3Rpb24u
aCAqLywKIAkJCQlGRDMxNUZEODEyQjAyNjc2MDBDMUEzNTkgLyogQXVkaW9Tb3VyY2VOb2RlLmgg
Ki8sCiAJCQkJRkQzMTVGRDkxMkIwMjY3NjAwQzFBMzU5IC8qIEF1ZGlvU291cmNlTm9kZS5pZGwg
Ki8sCiAJCQkJRkQzMTVGREExMkIwMjY3NjAwQzFBMzU5IC8qIEJpcXVhZERTUEtlcm5lbC5jcHAg
Ki8sCkBAIC0yNDcyMSw3ICsyNDcyNSw2IEBACiAJCQkJOTMzMDlFMjAwOTlFNjQ5MjAwNTZFNTgx
IC8qIFZpc2libGVQb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg4M0RGMjgwRjNEMDQ1
RDAwRjE5QkY2IC8qIFZpc2libGVTZWxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNTc4
OEMxMTIwNzg1MkMwMEEzN0M0QSAvKiBWaXNpdGVkTGlua1N0cmF0ZWd5LmggaW4gSGVhZGVycyAq
LywKLQkJCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTcgLyogVmlzaXRlZExpbmtzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFNDQ2MTNCNjBDRDYzNDRFMDBGQURBNzUgLyogVm9pZENhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGRDdGMjk5MjEzRDRDMENCMDBBRDk1MzUgLyogV2F2ZVNoYXBl
ckRTUEtlcm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ3RjI5OTQxM0Q0QzBDQjAwQUQ5NTM1
IC8qIFdhdmVTaGFwZXJOb2RlLmggaW4gSGVhZGVycyAqLywKQEAgLTI0ODg3LDYgKzI0ODkwLDcg
QEAKIAkJCQkzMUZFNkRGQTE1MDA0QzJBMDAwNEVCQzQgLyogTm90aWZpY2F0aW9uUGVybWlzc2lv
bkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCNjU4RkZBMjE1MjJFRjNBMDBERDU1OTUg
LyogSlNSYWRpb05vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCNjU4RkZBNjE1MjJFRkFB
MDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkRCMDUyRTAx
NTYxQTQyQzAwQjUwMEQ2IC8qIEF1ZGlvU3VtbWluZ0p1bmN0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
QEAgLTI3NzYwLDcgKzI3NzY0LDYgQEAKIAkJCQk5MzMwOUUxRDA5OUU2NDkyMDA1NkU1ODEgLyog
dmlzaWJsZV91bml0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUxRjA5OUU2NDkyMDA1
NkU1ODEgLyogVmlzaWJsZVBvc2l0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4ODNERjI3
MEYzRDA0NUQwMEYxOUJGNiAvKiBWaXNpYmxlU2VsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFNSAvKiBWaXNpdGVkTGlua3MuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRkQ3RjI5OTExM0Q0QzBDQjAwQUQ5NTM1IC8qIFdhdmVTaGFwZXJEU1BLZXJu
ZWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ3RjI5OTMxM0Q0QzBDQjAwQUQ5NTM1IC8qIFdh
dmVTaGFwZXJOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEN0YyOTk2MTNENEMwQ0IwMEFE
OTUzNSAvKiBXYXZlU2hhcGVyUHJvY2Vzc29yLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjc5MDks
NiArMjc5MTIsNyBAQAogCQkJCTMxRkU2RTZEMTUwMUEzQkYwMDA0RUJDNCAvKiBKU05vdGlmaWNh
dGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNjU4RkZBMTE1MjJFRjNBMDBERDU1
OTUgLyogSlNSYWRpb05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUI2NThGRkE1MTUy
MkVGQUEwMERENTU5NSAvKiBSYWRpb05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZE
QjA1MkRGMTU2MUE0MkMwMEI1MDBENiAvKiBBdWRpb1N1bW1pbmdKdW5jdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsK
</data>
<flag name="review"
          id="147964"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>