<?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>95635</bug_id>
          
          <creation_ts>2012-08-31 23:50:08 -0700</creation_ts>
          <short_desc>Improve the SourceProvider hierarchy</short_desc>
          <delta_ts>2012-09-13 18:49:46 -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>WebCore Misc.</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>710168</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-31 23:50:08 -0700</bug_when>
    <thetext>Now that Ustring and String have been unified, WebCore::StringSourceProvider is totally useless.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720130</commentid>
    <comment_count>1</comment_count>
      <attachid>164004</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-13 17:09:37 -0700</bug_when>
    <thetext>Created attachment 164004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720154</commentid>
    <comment_count>2</comment_count>
      <attachid>164011</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-13 17:28:58 -0700</bug_when>
    <thetext>Created attachment 164011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720208</commentid>
    <comment_count>3</comment_count>
      <attachid>164011</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-13 18:38:00 -0700</bug_when>
    <thetext>Comment on attachment 164011
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720216</commentid>
    <comment_count>4</comment_count>
      <attachid>164011</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-13 18:49:44 -0700</bug_when>
    <thetext>Comment on attachment 164011
Patch

Clearing flags on attachment: 164011

Committed r128542: &lt;http://trac.webkit.org/changeset/128542&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720217</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-13 18:49:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164004</attachid>
            <date>2012-09-13 17:09:37 -0700</date>
            <delta_ts>2012-09-13 17:28:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95635-20120913170909.patch</filename>
            <type>text/plain</type>
            <size>41731</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YzEwOGZhNWQ2OTgwNzFlZDA0OTFhYzUxOGZmYWQwYTcwNTNlOThmLi5jMGJlMDdlNDNlMzNkZjk2
ZjI4NzM2YzU1NGI5YWUwYjdkMjRjZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNiBAQAorMjAxMi0wOS0xMyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXByb3ZlIHRoZSBTb3VyY2VQcm92aWRlciBoaWVyYXJjaHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NjM1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU291cmNlUHJvdmlk
ZXIgd2FzIGRlc2lnbmVkIHRvIGhhdmUgc3ViY2xhc3NlcyBtYWdpY2FsbHkgaGFuZGxpbmcgdGhl
IGRhdGEgd2l0aG91dAorICAgICAgICBkZWNvZGluZyBhbGwgb2YgaXQuIFRoZSB2aXJ0dWFsIG1l
dGhvZHMgbGVuZ3RoKCkgYW5kIGdldFJhbmdlKCkgd2VyZSBiYXNlZAorICAgICAgICBvbiB0aGVz
ZSBhc3N1bXB0aW9ucy4KKworICAgICAgICBJbiBwcmFjdGljZSwgdGhlIG1hZ2ljIHdhcyBpbiBv
dXIgaGVhZCwgdGhlcmUgaXMgbm8gaW1wbGVtZW50YXRpb24gdGhhdCB0YWtlcworICAgICAgICBh
ZHZhbnRhZ2Ugb2YgdGhhdC4KKworICAgICAgICBTb3VyY2VQcm92aWRlciBpcyBtb2RpZmllZCB0
byBhZG9wdCBXZWJDb3JlJ3MgU2NyaXB0U291cmNlUHJvdmlkZXI6OnNvdXJjZSgpIGFuZCBiYXNl
CisgICAgICAgIGV2ZXJ5dGhpbmcgb24gaXQuCisgICAgICAgIFRoZSBjb2RlIHVzaW5nIFNvdXJj
ZVByb3ZpZGVyIGlzIGFsc28gc2ltcGxpZmllZC4KKworICAgICAgICAqIGludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6YXBwZW5kU291cmNlVG9FcnJvcik6IEtlZXAg
YSByZWZlcmVuY2UgdG8gdGhlIHN0cmluZyBpbnN0ZWFkIG9mIHF1ZXJ5aW5nIGl0IGZvcgorICAg
ICAgICBlYWNoIHRpbWUgaXQgaXMgdXNlZC4KKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuY3BwOgor
ICAgICAgICAoSlNDOjo6OnNldENvZGUpOgorICAgICAgICAoSlNDOjo6OnNvdXJjZUNvZGUpOgor
ICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6cGFyc2UpOgorICAgICAg
ICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6CisgICAgICAgIChKU0M6OlNvdXJjZUNvZGU6OlNvdXJj
ZUNvZGUpOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKToKKyAgICAg
ICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXIuaDoKKyAgICAgICAgKFNvdXJjZVByb3ZpZGVyKToK
KyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXI6OmdldFJhbmdlKToKKwogMjAxMi0wOS0xMyAg
TWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFt
ZSBmb3JFYWNoQ2VsbCB0byBmb3JFYWNoTGl2ZUNlbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2NDc0MDI2ZDI4
ODBkMWYyNGUwZWQ5MzZkMjMxZjQ2MmNiOTdmYWM3Li42MWIwMDI0NzM0NDBhNDY0ZjZhYzczNzE4
NmRmMzM0Y2YzODQ1MjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTItMDktMTMg
IEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92
ZSB0aGUgU291cmNlUHJvdmlkZXIgaGllcmFyY2h5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTYzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgU2NyaXB0U291cmNlUHJvdmlkZXIgYW5k
IFN0cmluZ1NvdXJjZVByb3ZpZGVyLCB0aGV5IGhhdmUgYmVlbiBtYWRlCisgICAgICAgIHVzZWxl
c3MgYnkgSmF2YVNjcmlwdCB1cGRhdGVzLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5h
bToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAg
ICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFNjcmlwdFNvdXJj
ZVByb3ZpZGVyOjpDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcik6CisgICAgICAgICogYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RGVi
dWdTZXJ2ZXI6OnVwZGF0ZUN1cnJlbnRTdGF0ZW1lbnRQb3NpdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hEaWRQYXJzZVNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hGYWlsZWRUb1BhcnNlU291cmNl
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlOjpTY3JpcHRTb3VyY2VDb2RlKToKKyAgICAgICAgKFNj
cmlwdFNvdXJjZUNvZGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZVByb3Zp
ZGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvU3RyaW5nU291cmNlUHJvdmlk
ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbToKKyAg
ICAgICAgKiBicmlkZ2UvTlBfanNvYmplY3QuY3BwOgorICAgICAgICAqIGJyaWRnZS9qbmkvam5p
X2pzb2JqZWN0Lm1tOgorCiAyMDEyLTA5LTEzICBZb25nIExpICA8eW9saUByaW0uY29tPgogCiAg
ICAgICAgIFtCbGFja0JlcnJ5XSBSZXNvdXJjZVJlcXVlc3Qgc3RyaW5nIG9wdGltaXphdGlvbnMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwppbmRleCA5ZTY1MmVjYWQ5NWYwYjFlMzc0YmIxZDBhOTQyYTJjMDlkMzIz
OWQzLi4xMjFiODM4Yzc5ZThiMjI3ZDE2NzdkOWY1YWQzYjcwNjQ3ODAyYjA1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDktMTMgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92ZSB0aGUgU291cmNlUHJvdmlkZXIg
aGllcmFyY2h5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NTYzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tOiBGaXggYSAj
aW5jbHVkZSBhYnVzZS4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlNjcmlwdERlYnVnZ2VyLm1tOgor
ICAgICAgICAodG9OU1N0cmluZyk6IFdlIGNhbiBub3cgdXNlIHRoZSAoZmFzdGVyKSBpbXBsaWNp
dCBjb252ZXJzaW9uCisgICAgICAgIGZyb20gU3RyaW5nIHRvIE5TU3RyaW5nLgorCiAyMDEyLTA5
LTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI3ODc2LgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggNjNkNzE4M2I0NjQ3ZTk2
OWQ2OTk4MjE2Zjk0NTRmMjI5YzEyNDBkZi4uNzdkODdlMmYyOTI4NjQ0ZjdiYzYyODM0YjliYjJk
ZmFjOTdmZGYzZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuY3BwCkBAIC01MjUsNyArNTI1LDggQEAgc3RhdGljIHZvaWQgYXBwZW5kU291
cmNlVG9FcnJvcihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgRXJyb3JJbnN0YW5jZSogZXhjZXB0aW9u
LAogICAgIGludCBleHByZXNzaW9uU3RhcnQgPSBkaXZvdFBvaW50IC0gc3RhcnRPZmZzZXQ7CiAg
ICAgaW50IGV4cHJlc3Npb25TdG9wID0gZGl2b3RQb2ludCArIGVuZE9mZnNldDsKIAotICAgIGlm
ICghZXhwcmVzc2lvblN0b3AgfHwgZXhwcmVzc2lvblN0YXJ0ID4gY29kZUJsb2NrLT5zb3VyY2Uo
KS0+bGVuZ3RoKCkpCisgICAgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJpbmcgPSBjb2RlQmxvY2st
PnNvdXJjZSgpLT5zb3VyY2UoKTsKKyAgICBpZiAoIWV4cHJlc3Npb25TdG9wIHx8IGV4cHJlc3Np
b25TdGFydCA+IHN0YXRpY19jYXN0PGludD4oc291cmNlU3RyaW5nLmxlbmd0aCgpKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhID0gJmNhbGxGcmFtZS0+
Z2xvYmFsRGF0YSgpOwpAQCAtNTM5LDggKzU0MCw4IEBAIHN0YXRpYyB2b2lkIGFwcGVuZFNvdXJj
ZVRvRXJyb3IoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEVycm9ySW5zdGFuY2UqIGV4Y2VwdGlvbiwK
ICAgICAgICAgbWVzc2FnZSA9ICBtYWtlU3RyaW5nKG1lc3NhZ2UsICIgKGV2YWx1YXRpbmcgJyIs
IGNvZGVCbG9jay0+c291cmNlKCktPmdldFJhbmdlKGV4cHJlc3Npb25TdGFydCwgZXhwcmVzc2lv
blN0b3ApLCAiJykiKTsKICAgICBlbHNlIHsKICAgICAgICAgLy8gTm8gcmFuZ2UgaW5mb3JtYXRp
b24sIHNvIGdpdmUgYSBmZXcgY2hhcmFjdGVycyBvZiBjb250ZXh0Ci0gICAgICAgIGNvbnN0IFN0
cmluZ0ltcGwqIGRhdGEgPSBjb2RlQmxvY2stPnNvdXJjZSgpLT5kYXRhKCk7Ci0gICAgICAgIGlu
dCBkYXRhTGVuZ3RoID0gY29kZUJsb2NrLT5zb3VyY2UoKS0+bGVuZ3RoKCk7CisgICAgICAgIGNv
bnN0IFN0cmluZ0ltcGwqIGRhdGEgPSBzb3VyY2VTdHJpbmcuaW1wbCgpOworICAgICAgICBpbnQg
ZGF0YUxlbmd0aCA9IHNvdXJjZVN0cmluZy5sZW5ndGgoKTsKICAgICAgICAgaW50IHN0YXJ0ID0g
ZXhwcmVzc2lvblN0YXJ0OwogICAgICAgICBpbnQgc3RvcCA9IGV4cHJlc3Npb25TdGFydDsKICAg
ICAgICAgLy8gR2V0IHVwIHRvIDIwIGNoYXJhY3RlcnMgb2YgY29udGV4dCB0byB0aGUgbGVmdCBh
bmQgcmlnaHQgb2YgdGhlIGRpdm90LCBjbGFtcGluZyB0byB0aGUgbGluZS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggMDYzMTY4YmUxM2MxNmM0YmZkZTAzZmM0OWJh
OTAwMDAzZjU4MGRiMy4uOGM5ZWFhMTJjNTM2MDRkYWYzY2M3ZmJkOWZlZTQ4MTg1MmQ0ZDRlOCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTQwNSwxMCArNDA1LDEw
IEBAIHZvaWQgTGV4ZXI8VD46OnNldENvZGUoY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJz
ZXJBcmVuYSogYXJlbmEpCiAgICAgbV9saW5lTnVtYmVyID0gc291cmNlLmZpcnN0TGluZSgpOwog
ICAgIG1fbGFzdFRva2VuID0gLTE7CiAgICAgCi0gICAgY29uc3QgU3RyaW5nSW1wbCogc291cmNl
U3RyaW5nID0gc291cmNlLnByb3ZpZGVyKCktPmRhdGEoKTsKKyAgICBjb25zdCBTdHJpbmcmIHNv
dXJjZVN0cmluZyA9IHNvdXJjZS5wcm92aWRlcigpLT5zb3VyY2UoKTsKIAotICAgIGlmIChzb3Vy
Y2VTdHJpbmcpCi0gICAgICAgIHNldENvZGVTdGFydChzb3VyY2VTdHJpbmcpOworICAgIGlmICgh
c291cmNlU3RyaW5nLmlzTnVsbCgpKQorICAgICAgICBzZXRDb2RlU3RhcnQoc291cmNlU3RyaW5n
LmltcGwoKSk7CiAgICAgZWxzZQogICAgICAgICBtX2NvZGVTdGFydCA9IDA7CiAKQEAgLTE2ODks
OCArMTY4OSw4IEBAIHZvaWQgTGV4ZXI8VD46OmNsZWFyKCkKIHRlbXBsYXRlIDx0eXBlbmFtZSBU
PgogU291cmNlQ29kZSBMZXhlcjxUPjo6c291cmNlQ29kZShpbnQgb3BlbkJyYWNlLCBpbnQgY2xv
c2VCcmFjZSwgaW50IGZpcnN0TGluZSkKIHsKLSAgICBBU1NFUlQoKCptX3NvdXJjZS0+cHJvdmlk
ZXIoKS0+ZGF0YSgpKVtvcGVuQnJhY2VdID09ICd7Jyk7Ci0gICAgQVNTRVJUKCgqbV9zb3VyY2Ut
PnByb3ZpZGVyKCktPmRhdGEoKSlbY2xvc2VCcmFjZV0gPT0gJ30nKTsKKyAgICBBU1NFUlQobV9z
b3VyY2UtPnByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKKyAgICBBU1NF
UlQobV9zb3VyY2UtPnByb3ZpZGVyKCktPnNvdXJjZSgpW2Nsb3NlQnJhY2VdID09ICd9Jyk7CiAg
ICAgcmV0dXJuIFNvdXJjZUNvZGUobV9zb3VyY2UtPnByb3ZpZGVyKCksIG9wZW5CcmFjZSwgY2xv
c2VCcmFjZSArIDEsIGZpcnN0TGluZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5oCmluZGV4IDNhNjFkYTFhODU3YmJlOTEzOTU4OWFiYTMxNDZmODc4ZWU4YTMwZDcuLmU2
NTdlMTJjZGRiY2VhY2I5MDZkYmM1OTlmYjM0OGE3NTJiNWFkY2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuaApAQCAtMTAyOSw5ICsxMDI5LDkgQEAgUGFzc1JlZlB0cjxQYXJz
ZWROb2RlPiBwYXJzZShKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2wKIHsKICAgICBTYW1wbGluZ1JlZ2lvbiBzYW1wbGluZ1JlZ2lvbigiUGFyc2luZyIp
OwogCi0gICAgQVNTRVJUKHNvdXJjZS5wcm92aWRlcigpLT5kYXRhKCkpOworICAgIEFTU0VSVCgh
c291cmNlLnByb3ZpZGVyKCktPnNvdXJjZSgpLmlzTnVsbCgpKTsKIAotICAgIGlmIChzb3VyY2Uu
cHJvdmlkZXIoKS0+ZGF0YSgpLT5pczhCaXQoKSkgeworICAgIGlmIChzb3VyY2UucHJvdmlkZXIo
KS0+c291cmNlKCkuaXM4Qml0KCkpIHsKICAgICAgICAgUGFyc2VyPCBMZXhlcjxMQ2hhcj4gPiBw
YXJzZXIoZ2xvYmFsRGF0YSwgc291cmNlLCBwYXJhbWV0ZXJzLCBuYW1lLCBzdHJpY3RuZXNzLCBw
YXJzZXJNb2RlKTsKICAgICAgICAgcmV0dXJuIHBhcnNlci5wYXJzZTxQYXJzZWROb2RlPihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBkZWJ1Z2dlciwgZXhlY1N0YXRlLCBleGNlcHRpb24pOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5kZXggYmRhOTFiM2M4
YTZmM2I2MGYxZjIzZmM2OWZhYmYyYWUxMGMwMzA0NS4uYTA5NDQ2OWEyZjk2M2RlNzFmOTFkYmNi
MWIwOTliYzdiZDBiYzUyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VD
b2RlLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFNvdXJjZUNv
ZGUoUGFzc1JlZlB0cjxTb3VyY2VQcm92aWRlcj4gcHJvdmlkZXIsIGludCBmaXJzdExpbmUgPSAx
KQogICAgICAgICAgICAgOiBtX3Byb3ZpZGVyKHByb3ZpZGVyKQogICAgICAgICAgICAgLCBtX3N0
YXJ0Q2hhcigwKQotICAgICAgICAgICAgLCBtX2VuZENoYXIobV9wcm92aWRlci0+bGVuZ3RoKCkp
CisgICAgICAgICAgICAsIG1fZW5kQ2hhcihtX3Byb3ZpZGVyLT5zb3VyY2UoKS5sZW5ndGgoKSkK
ICAgICAgICAgICAgICwgbV9maXJzdExpbmUoc3RkOjptYXgoZmlyc3RMaW5lLCAxKSkKICAgICAg
ICAgewogICAgICAgICB9CkBAIC05Nyw4ICs5Nyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
aW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVu
QnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUpCiAgICAgewotICAgICAg
ICBBU1NFUlQoKCpwcm92aWRlcigpLT5kYXRhKCkpW29wZW5CcmFjZV0gPT0gJ3snKTsKLSAgICAg
ICAgQVNTRVJUKCgqcHJvdmlkZXIoKS0+ZGF0YSgpKVtjbG9zZUJyYWNlXSA9PSAnfScpOworICAg
ICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOworICAg
ICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbY2xvc2VCcmFjZV0gPT0gJ30nKTsKICAg
ICAgICAgcmV0dXJuIFNvdXJjZUNvZGUocHJvdmlkZXIoKSwgb3BlbkJyYWNlLCBjbG9zZUJyYWNl
ICsgMSwgZmlyc3RMaW5lKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlUHJvdmlkZXIuaAppbmRleCA3ZjJlOGQ5OTVmNWI1N2VmZjNjNTA5MDI4OTJmYjU1
MzM0MTQ2M2I5Li4xNDViMmRkMTYwMjFlMmVjZTUzYmYyNTkyYzhkZDQzM2Q2NmI3YzhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlci5oCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC01NiwxMCArNTYsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAgICAgZGVs
ZXRlIG1fY2FjaGU7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIFN0cmluZyBnZXRSYW5n
ZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCBjb25zdCBT
dHJpbmdJbXBsKiBkYXRhKCkgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFsIGludCBsZW5ndGgo
KSBjb25zdCA9IDA7Ci0gICAgICAgIAorICAgICAgICB2aXJ0dWFsIGNvbnN0IFN0cmluZyYgc291
cmNlKCkgY29uc3QgPSAwOworICAgICAgICBTdHJpbmcgZ2V0UmFuZ2UoaW50IHN0YXJ0LCBpbnQg
ZW5kKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gc291cmNlKCkuc3Vic3Ry
aW5nU2hhcmluZ0ltcGwoc3RhcnQsIGVuZCAtIHN0YXJ0KTsKKyAgICAgICAgfQorCiAgICAgICAg
IGNvbnN0IFN0cmluZyYgdXJsKCkgeyByZXR1cm4gbV91cmw7IH0KICAgICAgICAgVGV4dFBvc2l0
aW9uIHN0YXJ0UG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3N0YXJ0UG9zaXRpb247IH0KICAg
ICAgICAgaW50cHRyX3QgYXNJRCgpCkBAIC05MywxMiArOTUsMTAgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0cmluZ1NvdXJjZVByb3ZpZGVyKHNv
dXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSk7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFs
IFN0cmluZyBnZXRSYW5nZShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0IE9WRVJSSURFCisgICAg
ICAgIHZpcnR1YWwgY29uc3QgU3RyaW5nJiBzb3VyY2UoKSBjb25zdCBPVkVSUklERQogICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gbV9zb3VyY2Uuc3Vic3RyaW5nU2hhcmluZ0ltcGwoc3Rh
cnQsIGVuZCAtIHN0YXJ0KTsKKyAgICAgICAgICAgIHJldHVybiBtX3NvdXJjZTsKICAgICAgICAg
fQotICAgICAgICBjb25zdCBTdHJpbmdJbXBsKiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9zb3Vy
Y2UuaW1wbCgpOyB9Ci0gICAgICAgIGludCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX3NvdXJj
ZS5sZW5ndGgoKTsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgU3RyaW5nU291cmNlUHJvdmlk
ZXIoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBUZXh0UG9z
aXRpb24mIHN0YXJ0UG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAz
OTUwMmJmODc4NWMwZTk2NTczNTVjYzI5YTczYzM5MTM3OTBlMTJiLi5iYTg4NDgxZTdiYTZmZjNi
MGZjZWJiYjg1ODBjYmU4ZTI0ZGY0NTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
QEAgLTI0MTcsNyArMjQxNyw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRQcm9maWxlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRTb3VyY2VDb2RlLmggXAotCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNv
dXJjZVByb3ZpZGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaCBcCiAJU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0VmFsdWUuY3BwIFwKQEAgLTI0MjUsNyArMjQy
NCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0V3JhcHBhYmxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TdHJpbmdTb3Vy
Y2VQcm92aWRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGll
bnREYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRy
b2xsZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250
cm9sbGVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNTE5OTM3MjAxNzAxNzFhNTgzMjI5YjU0ZTAxYWFk
OGYxNDQ4YjI4OC4uZDc2Yzc1NjAzYjAzYmQyOTk4NTBiNGJkZTdiNTY0Nzc5MTRiMjViNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpCkBAIC0xMzQyLDEyICsxMzQyLDEwIEBAIEhFQURFUlMgKz0gXAogICAgIGJpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVOb2RlLmggXAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdFByb2Zp
bGVyLmggXAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaCBcCi0gICAgYmluZGlu
Z3MvanMvU2NyaXB0U291cmNlUHJvdmlkZXIuaCBcCiAgICAgYmluZGluZ3MvanMvU2NyaXB0U3Rh
dGUuaCBcCiAgICAgYmluZGluZ3MvanMvU2NyaXB0VmFsdWUuaCBcCiAgICAgYmluZGluZ3MvanMv
U2NyaXB0V3JhcHBhYmxlLmggXAogICAgIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oIFwKLSAgICBiaW5kaW5ncy9qcy9TdHJpbmdTb3VyY2VQcm92aWRlci5oIFwKICAgICBiaW5k
aW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmggXAogICAgIGJpbmRpbmdzL2pzL1dvcmtlclNj
cmlwdENvbnRyb2xsZXIuaCBcCiAgICAgYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2
ZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggN2YwOTc3N2VmOGQwYTNiY2FlYjhmYzk4ZTNiYzNh
Yjc5OGFjOWQxMS4uMGVlNDk1NTlmZDhkNDk5MmQ2MjYzNzY1ODBhZmQ2NTU1NTA1NmVmYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtNDksMTIgKzQ5LDEwIEBACiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvU2NyaXB0UHJvZmlsZS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9TY3JpcHRQcm9m
aWxlTm9kZS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oJywK
LSAgICAgICAgICAgICdiaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VQcm92aWRlci5oJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oJywKICAgICAgICAgICAgICdiaW5kaW5n
cy9qcy9TY3JpcHRWYWx1ZS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9TY3JpcHRXcmFw
cGFibGUuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmgnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL1N0cmluZ1NvdXJjZVByb3ZpZGVyLmgnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL29iamMvRE9NLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L29iamMvRE9NQ1NTLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL29iamMvRE9NQ29yZS5oJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZjMz
NjFjYjNlZWFjMzEzZjdhZWUwNmVjYzk5NzY0NWFjMDYxNjc5NC4uNTUwYTIwMTMzZDEzZTYzNTgw
NWUwZWViOTA0MTUyNzZlYjExMWUxZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKQEAgLTcyMDY2LDEwICs3MjA2Niw2IEBACiAJCQkJCT4KIAkJCQk8
L0ZpbGU+CiAJCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xTY3Jp
cHRTb3VyY2VQcm92aWRlci5oIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCiAJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcU2NyaXB0U3RhdGUuY3BwIgogCQkJCQk+CiAJ
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNzIxOTQsMTAgKzcyMTkwLDYgQEAKIAkJCQkJPgog
CQkJCTwvRmlsZT4KIAkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpz
XFN0cmluZ1NvdXJjZVByb3ZpZGVyLmgiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUK
IAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xXZWJDb3JlSlNDbGllbnREYXRhLmgi
CiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWIwMjQ3MjNlZjc2NTNhNjk3N2FhYzlhNzk2NDQ0
Y2FhMDEzM2Y1OC4uZThlOTU4NTI1OTQwNzA4MTIzYmNiMGY0ZDM1MjVmZjUwNjM0YTE0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTczMyw3ICsxNzMzLDYgQEAKIAkJNjUxNUVDOTEwRDk3MjNGRjAwNjNENDlBIC8qIEpTU1ZH
QWx0R2x5cGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDY1MTVFQzhGMEQ5NzIzRkYwMDYzRDQ5QSAvKiBKU1NWR0FsdEdseXBoRWxlbWVu
dC5jcHAgKi87IH07CiAJCTY1MTVFQzkyMEQ5NzIzRkYwMDYzRDQ5QSAvKiBKU1NWR0FsdEdseXBo
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NjUxNUVDOTAwRDk3MjNGRjAwNjNENDlBIC8qIEpTU1ZHQWx0R2x5cGhFbGVtZW50LmggKi87IH07
CiAJCTY1MkZCQkJDMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjUyRkJCQkIwREUyN0NC
NjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmggKi87IH07Ci0JCTY1NDg4RDZCMERENUE4
M0QwMDlEODNCMiAvKiBTdHJpbmdTb3VyY2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0ODhENkEwREQ1QTgzRDAwOUQ4M0IyIC8qIFN0
cmluZ1NvdXJjZVByb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNjU1MEI2OUQwOTlERjAyNzAwOTBENzgxIC8qIENEQVRBU2VjdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTUwQjY5
MzA5OURGMDI3MDA5MEQ3ODEgLyogQ0RBVEFTZWN0aW9uLmNwcCAqLzsgfTsKIAkJNjU1MEI2OUUw
OTlERjAyNzAwOTBENzgxIC8qIENEQVRBU2VjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU1MEI2OTQwOTlERjAyNzAwOTBENzgxIC8qIENEQVRB
U2VjdGlvbi5oICovOyB9OwogCQk2NTUwQjY5RjA5OURGMDI3MDA5MEQ3ODEgLyogQ2hhcmFjdGVy
RGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTUwQjY5NTA5OURGMDI3MDA5MEQ3ODEgLyogQ2hhcmFjdGVyRGF0YS5jcHAgKi87IH07CkBAIC01
ODgwLDcgKzU4NzksNiBAQAogCQlDRTA1N0ZBNjEyMjA3MzExMDBBNDc2RDUgLyogRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRTA1N0ZBNDEyMjA3MzExMDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250cm9s
bGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
Q0UwOEMzRDExNTJCNTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UwOEMzQ0Yx
NTJCNTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwICovOyB9Owog
CQlDRTA4QzNEMjE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UwOEMzRDAx
NTJCNTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OwotCQlDRTU0RkQzODEwMTZEOUE2MDA4QjQ0Qzgg
LyogU2NyaXB0U291cmNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENFNTRGRDM3MTAxNkQ5QTYwMDhCNDRDOCAvKiBTY3JpcHRTb3VyY2VQ
cm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUNFN0IyREIzMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0Iy
REFGMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTdCMkRCNDE1
ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjAxNTg2QUJBRDAw
OThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSAqLzsgfTsKIAkJQ0U3QjJE
QjUxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjExNTg2QUJBRDAw
OThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC02NTUxLDcgKzY1NDksNiBAQAogCQlGRTZG
RDQ4RDBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4QjBGNjc2RTkzMDAwOTI4NzMg
LyogSlNDb29yZGluYXRlcy5jcHAgKi87IH07CiAJCUZFNkZENDhFMEY2NzZFOTMwMDA5Mjg3MyAv
KiBKU0Nvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oICovOyB9
OwogCQlGRTcwMEREMTBGOTJEODFBMDA4RTJCRkUgLyogSlNDb29yZGluYXRlc0N1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTcwMEREMDBG
OTJEODFBMDA4RTJCRkUgLyogSlNDb29yZGluYXRlc0N1c3RvbS5jcHAgKi87IH07Ci0JCUZGRDg2
RTc4MTVGOTU4MzYwMDA0NzIzMyAvKiBKU0RlcGVuZGVudFJldGFpbmVkLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ4NkU3NzE1Rjk1ODM2MDAwNDcy
MzMgLyogSlNEZXBlbmRlbnRSZXRhaW5lZC5oICovOyB9OwogCQlGRTgwRDdBQjBFOUMxRUQyMDAw
RDZGNzUgLyogSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTgwRDdBNjBFOUMxRUQyMDAwRDZGNzUgLyogSlNHZW9s
b2NhdGlvbkN1c3RvbS5jcHAgKi87IH07CiAJCUZFODBEQTYzMEU5QzQ3MDMwMDBENkY3NSAvKiBK
U0dlb2xvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZFODBEQTVGMEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uLmNwcCAqLzsg
fTsKIAkJRkU4MERBNjQwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFODBEQTYwMEU5QzQ3MDMw
MDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uLmggKi87IH07CkBAIC02NTYxLDYgKzY1NTgsNyBAQAog
CQlGRTgwREE3MjBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTgwREE2RTBFOUM0NzJGMDAw
RDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmggKi87IH07CiAJCUZGRDVCOTdBMTM1Q0M5NzgwMEQ1
RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlz
aWJpbGl0eVN0YXRlLmNwcCAqLzsgfTsKIAkJRkZENUI5N0IxMzVDQzk3ODAwRDVFOTJBIC8qIFBh
Z2VWaXNpYmlsaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEZGRDVCOTc4MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkZE
ODZFNzgxNUY5NTgzNjAwMDQ3MjMzIC8qIEpTRGVwZW5kZW50UmV0YWluZWQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDg2RTc3MTVGOTU4MzYwMDA0
NzIzMyAvKiBKU0RlcGVuZGVudFJldGFpbmVkLmggKi87IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxl
IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8K
QEAgLTg5MTYsNyArODkxNCw2IEBACiAJCTY1MTVFQzhGMEQ5NzIzRkYwMDYzRDQ5QSAvKiBKU1NW
R0FsdEdseXBoRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1NWR0FsdEdseXBoRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTY1MTVFQzkwMEQ5NzIzRkYwMDYzRDQ5QSAvKiBKU1NWR0FsdEdseXBoRWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FsdEdseXBoRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTJGQkJCQjBERTI3Q0I2MDAwMUQzODYgLyogSlNE
T01XaW5kb3dDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01X
aW5kb3dDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNjU0ODhENkEwREQ1
QTgzRDAwOUQ4M0IyIC8qIFN0cmluZ1NvdXJjZVByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0cmluZ1NvdXJjZVByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTY1NDhFMjQ4MDlFMUUwNEQwMEFGODAyMCAvKiBEb2N1bWVudC5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IERvY3VtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNjU1MEI2OTMwOTlERjAyNzAwOTBENzgxIC8qIENEQVRBU2VjdGlvbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ0RBVEFTZWN0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU1MEI2OTQwOTlERjAyNzAwOTBENzgxIC8qIENE
QVRBU2VjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0RBVEFTZWN0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzIyNCw3ICsxMzIyMSw2IEBA
CiAJCUNFMDU3RkE0MTIyMDczMTEwMEE0NzZENSAvKiBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRG9jdW1lbnRNYXJrZXJDb250cm9s
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFMDhDM0NGMTUyQjU5OUEwMDIx
QjhDMiAvKiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDRTA4QzNEMDE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJu
YXRpdmVUZXh0Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUNFNTRGRDM3MTAxNkQ5QTYwMDhCNDRDOCAvKiBTY3JpcHRTb3VyY2VQcm92aWRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRTb3VyY2VQcm92aWRlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTVDQjFCMzE0RURBQjZGMDBCQjI3OTUgLyogRXZl
bnRTZW5kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRTZW5kZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U3QjJEQUYxNTg2QUJBRDAwOThCM0ZB
IC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaDsgcGF0aCA9IG1hYy9BbHRl
cm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Q0U3QjJEQjAxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEFsdGVybmF0aXZlVGV4
dFVJQ29udHJvbGxlci5tbTsgcGF0aCA9IG1hYy9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzk5NSw3ICsxMzk5MSw2IEBACiAJ
CUZFNkZENDhCMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ29vcmRpbmF0ZXMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGlu
YXRlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Nvb3JkaW5hdGVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFNzAwREQwMEY5MkQ4MUEwMDhFMkJGRSAv
KiBKU0Nvb3JkaW5hdGVzQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTQ29vcmRpbmF0ZXNDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlGRkQ4NkU3NzE1Rjk1ODM2MDAwNDcyMzMgLyogSlNEZXBlbmRlbnRSZXRhaW5lZC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RlcGVuZGVudFJldGFpbmVkLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFODBEN0E2MEU5QzFFRDIwMDBENkY3NSAvKiBK
U0dlb2xvY2F0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTR2VvbG9jYXRpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGRTgwREE1RjBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dlb2xvY2F0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MERBNjAwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9j
YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHZW9sb2NhdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQwMDUsNiArMTQwMDAsNyBAQAogCQlG
RTgwREE2RTBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUG9zaXRpb25FcnJvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGRkQ1Qjk3NzEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlT
dGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlVmlzaWJp
bGl0eVN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkZENUI5NzgxMzVD
Qzk3ODAwRDVFOTJBIC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGFnZVZpc2liaWxpdHlTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlGRkQ4NkU3NzE1Rjk1ODM2MDAwNDcyMzMgLyogSlNEZXBlbmRlbnRSZXRhaW5l
ZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RlcGVuZGVudFJldGFpbmVk
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8K
QEAgLTIwMjU4LDcgKzIwMjU0LDYgQEAKIAkJCQk5RjcyMzA0RDExMTg0QjQxMDBBRDAxMjYgLyog
U2NyaXB0UHJvZmlsZXIuY3BwICovLAogCQkJCTlGNzIzMDRFMTExODRCNDEwMEFEMDEyNiAvKiBT
Y3JpcHRQcm9maWxlci5oICovLAogCQkJCTkzNENDMTA5MEVEQjIyMzkwMEE2NThGMiAvKiBTY3Jp
cHRTb3VyY2VDb2RlLmggKi8sCi0JCQkJQ0U1NEZEMzcxMDE2RDlBNjAwOEI0NEM4IC8qIFNjcmlw
dFNvdXJjZVByb3ZpZGVyLmggKi8sCiAJCQkJNDEyN0Q1MzYwRjhBQUIxRDAwRTQyNEY1IC8qIFNj
cmlwdFN0YXRlLmNwcCAqLywKIAkJCQk0MUM3NjBCMDBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0
U3RhdGUuaCAqLywKIAkJCQk5MzRDQzBERjBFRDM5RDZGMDBBNjU4RjIgLyogU2NyaXB0VmFsdWUu
Y3BwICovLApAQCAtMjAyNjYsNyArMjAyNjEsNiBAQAogCQkJCTIyOEMyODQ0MTBEODI1MDAwMDlE
MEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCAqLywKIAkJCQlBNzVFNDk3NTEwNzUyQUNCMDBDOUI4
OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCAqLywKIAkJCQlBNzVFNDk3NDEwNzUyQUNC
MDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggKi8sCi0JCQkJNjU0ODhENkEwREQ1
QTgzRDAwOUQ4M0IyIC8qIFN0cmluZ1NvdXJjZVByb3ZpZGVyLmggKi8sCiAJCQkJQkM1M0Q5MTAx
MTQzMTBDQzAwMEQ4MTdFIC8qIFdlYkNvcmVKU0NsaWVudERhdGEuaCAqLywKIAkJCQlFMUE2NDNG
QzBFQzA5N0EwMDA3Nzk2NjggLyogV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAgKi8sCiAJCQkJ
RTFBNjQzRjEwRUMwOTcyNTAwNzc5NjY4IC8qIFdvcmtlclNjcmlwdENvbnRyb2xsZXIuaCAqLywK
QEAgLTI0ODcxLDcgKzI0ODY1LDYgQEAKIAkJCQk5RjcyMzA1MTExMTg0QjQxMDBBRDAxMjYgLyog
U2NyaXB0UHJvZmlsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCThBNDEzQUUwMTIwN0JCQTUwMDgy
MDE2RSAvKiBTY3JpcHRSdW5uZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNENDMTBBMEVEQjIy
MzkwMEE2NThGMiAvKiBTY3JpcHRTb3VyY2VDb2RlLmggaW4gSGVhZGVycyAqLywKLQkJCQlDRTU0
RkQzODEwMTZEOUE2MDA4QjQ0QzggLyogU2NyaXB0U291cmNlUHJvdmlkZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxQzc2MEIxMEVERTAzRDMwMEMxNjU1RiAvKiBTY3JpcHRTdGF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTM0Q0MwRTIwRUQzOUQ2RjAwQTY1OEYyIC8qIFNjcmlwdFZhbHVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyMjhDMjg0NTEwRDgyNTAwMDA5RDBEMEUgLyogU2NyaXB0V3Jh
cHBhYmxlLmggaW4gSGVhZGVycyAqLywKQEAgLTI0OTk5LDcgKzI0OTkyLDYgQEAKIAkJCQkzQUIw
MkQyQTEyRDRGOTE2MDBGQkI2OTQgLyogU3RvcmFnZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTNBQzM2ODAwMTJFRjdBMDkwMDZBM0Q2RiAvKiBTdG9yYWdlVHJhY2tlckNsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODFBQzZDMzYxMzFDNTdEMzAwMDlBN0UwIC8qIFN0cmluZ0NhbGxi
YWNrLmggaW4gSGVhZGVycyAqLywKLQkJCQk2NTQ4OEQ2QjBERDVBODNEMDA5RDgzQjIgLyogU3Ry
aW5nU291cmNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMzU0MEYzMEQwMDc4MkUw
MDIzODJGQSAvKiBTdHJpbmdUcnVuY2F0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCNkM0MTUz
MTM0NDk0OTAwMDA4NUI2MiAvKiBTdHJpbmdXaXRoRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4NDlGNzc3NjBFRkVDNjIwMDA5MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggaW4g
SGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNo
ZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCmluZGV4IDBkZDNjZjU3N2YxODZmNGIyMDVjZWEwOGZk
YjU4YTExY2VmZmNhNDcuLjgxNmM4NmM1YTYyNGUzYzE3YWE3MWRjNmJiOGU3N2JjZjZhYWE5ODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJj
ZVByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
U291cmNlUHJvdmlkZXIuaApAQCAtMjksNTYgKzI5LDQ0IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVz
b3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1
ZGUgIkNhY2hlZFNjcmlwdC5oIgotI2luY2x1ZGUgIlNjcmlwdFNvdXJjZVByb3ZpZGVyLmgiCiAj
aW5jbHVkZSA8cGFyc2VyL1NvdXJjZUNvZGUuaD4KKyNpbmNsdWRlIDxwYXJzZXIvU291cmNlUHJv
dmlkZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgQ2FjaGVkU2NyaXB0
U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0U291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYWNo
ZWRSZXNvdXJjZUNsaWVudCB7Ci0gICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotICAg
IHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FjaGVkU2NyaXB0U291cmNlUHJv
dmlkZXI+IGNyZWF0ZShDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyKGNhY2hlZFNjcmlwdCkpOyB9CitjbGFz
cyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBKU0M6OlNvdXJjZVByb3ZpZGVy
LCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhY2hlZFNjcmlwdFNvdXJjZVBy
b3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihjYWNoZWRTY3JpcHQpKTsgfQogCi0g
ICAgICAgIHZpcnR1YWwgfkNhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyKCkKLSAgICAgICAgewot
ICAgICAgICAgICAgbV9jYWNoZWRTY3JpcHQtPnJlbW92ZUNsaWVudCh0aGlzKTsKLSAgICAgICAg
fQotCi0gICAgICAgIHZpcnR1YWwgU3RyaW5nIGdldFJhbmdlKGludCBzdGFydCwgaW50IGVuZCkg
Y29uc3QgT1ZFUlJJREUKLSAgICAgICAgewotICAgICAgICAgICAgaW50IGxlbmd0aCA9IGVuZCAt
IHN0YXJ0OwotICAgICAgICAgICAgQVNTRVJUKGxlbmd0aCA+PSAwKTsKLSAgICAgICAgICAgIEFT
U0VSVChzdGFydCArIGxlbmd0aCA8PSB0aGlzLT5sZW5ndGgoKSk7Ci0KLSAgICAgICAgICAgIFN0
cmluZyBzY3JpcHQgPSBtX2NhY2hlZFNjcmlwdC0+c2NyaXB0KCk7Ci0gICAgICAgICAgICByZXR1
cm4gU3RyaW5nKFN0cmluZ0ltcGw6OmNyZWF0ZShzY3JpcHQuaW1wbCgpLCBzdGFydCwgbGVuZ3Ro
KSk7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCBTdHJpbmdJbXBsKiBkYXRhKCkgY29uc3Qg
eyByZXR1cm4gbV9jYWNoZWRTY3JpcHQtPnNjcmlwdCgpLmltcGwoKTsgfQotICAgICAgICBpbnQg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRTY3JpcHQtPnNjcmlwdCgpLmxlbmd0aCgp
OyB9Ci0gICAgICAgIGNvbnN0IFN0cmluZyYgc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9jYWNo
ZWRTY3JpcHQtPnNjcmlwdCgpOyB9Ci0KLSAgICAgICAgdmlydHVhbCB2b2lkIGNhY2hlU2l6ZUNo
YW5nZWQoaW50IGRlbHRhKSAKLSAgICAgICAgeyAKLSAgICAgICAgICAgIG1fY2FjaGVkU2NyaXB0
LT5zb3VyY2VQcm92aWRlckNhY2hlU2l6ZUNoYW5nZWQoZGVsdGEpOwotICAgICAgICB9CisgICAg
dmlydHVhbCB+Q2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIoKQorICAgIHsKKyAgICAgICAgbV9j
YWNoZWRTY3JpcHQtPnJlbW92ZUNsaWVudCh0aGlzKTsKKyAgICB9CiAKLSAgICBwcml2YXRlOgot
ICAgICAgICBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihDYWNoZWRTY3JpcHQqIGNhY2hlZFNj
cmlwdCkKLSAgICAgICAgICAgIDogU2NyaXB0U291cmNlUHJvdmlkZXIoY2FjaGVkU2NyaXB0LT5y
ZXNwb25zZSgpLnVybCgpLCBUZXh0UG9zaXRpb246Om1pbmltdW1Qb3NpdGlvbigpLCBjYWNoZWRT
Y3JpcHQtPnNvdXJjZVByb3ZpZGVyQ2FjaGUoKSkKLSAgICAgICAgICAgICwgbV9jYWNoZWRTY3Jp
cHQoY2FjaGVkU2NyaXB0KQotICAgICAgICB7Ci0gICAgICAgICAgICBtX2NhY2hlZFNjcmlwdC0+
YWRkQ2xpZW50KHRoaXMpOwotICAgICAgICB9CisgICAgY29uc3QgU3RyaW5nJiBzb3VyY2UoKSBj
b25zdCB7IHJldHVybiBtX2NhY2hlZFNjcmlwdC0+c2NyaXB0KCk7IH0KIAotICAgICAgICBDYWNo
ZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IG1fY2FjaGVkU2NyaXB0OwotICAgIH07Cisg
ICAgdmlydHVhbCB2b2lkIGNhY2hlU2l6ZUNoYW5nZWQoaW50IGRlbHRhKQorICAgIHsKKyAgICAg
ICAgbV9jYWNoZWRTY3JpcHQtPnNvdXJjZVByb3ZpZGVyQ2FjaGVTaXplQ2hhbmdlZChkZWx0YSk7
CisgICAgfQogCi0gICAgaW5saW5lIEpTQzo6U291cmNlQ29kZSBtYWtlU291cmNlKENhY2hlZFNj
cmlwdCogY2FjaGVkU2NyaXB0KQorcHJpdmF0ZToKKyAgICBDYWNoZWRTY3JpcHRTb3VyY2VQcm92
aWRlcihDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkKKyAgICAgICAgOiBTb3VyY2VQcm92aWRl
cihjYWNoZWRTY3JpcHQtPnJlc3BvbnNlKCkudXJsKCksIFRleHRQb3NpdGlvbjo6bWluaW11bVBv
c2l0aW9uKCksIGNhY2hlZFNjcmlwdC0+c291cmNlUHJvdmlkZXJDYWNoZSgpKQorICAgICAgICAs
IG1fY2FjaGVkU2NyaXB0KGNhY2hlZFNjcmlwdCkKICAgICB7Ci0gICAgICAgIHJldHVybiBKU0M6
OlNvdXJjZUNvZGUoQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI6OmNyZWF0ZShjYWNoZWRTY3Jp
cHQpKTsKKyAgICAgICAgbV9jYWNoZWRTY3JpcHQtPmFkZENsaWVudCh0aGlzKTsKICAgICB9CiAK
KyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IG1fY2FjaGVkU2NyaXB0Owor
fTsKKworaW5saW5lIEpTQzo6U291cmNlQ29kZSBtYWtlU291cmNlKENhY2hlZFNjcmlwdCogY2Fj
aGVkU2NyaXB0KQoreworICAgIHJldHVybiBKU0M6OlNvdXJjZUNvZGUoQ2FjaGVkU2NyaXB0U291
cmNlUHJvdmlkZXI6OmNyZWF0ZShjYWNoZWRTY3JpcHQpKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXJfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IDE2
YzRkOWRmYjU0OWFlMjdlMTM0ZWYwMjI5N2QzZDMyNDBiOTc0MDMuLmFhNjBhMmRkOGEzNThiZmM1
ZGUxMWQzYjBjNDcwZTJlYjkxNGRiYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAgLTEzNCw3ICsxMzQsNyBAQCB2b2lkIFNjcmlw
dERlYnVnU2VydmVyOjp1cGRhdGVDdXJyZW50U3RhdGVtZW50UG9zaXRpb24oaW50cHRyX3Qgc291
cmNlSUQsIGludCBsaQogICAgIFNvdXJjZVByb3ZpZGVyKiBzb3VyY2UgPSByZWludGVycHJldF9j
YXN0PFNvdXJjZVByb3ZpZGVyKj4oc291cmNlSUQpOwogCiAgICAgaWYgKG1fY3VycmVudFNvdXJj
ZUlEICE9IHNvdXJjZUlEKSB7Ci0gICAgICAgIFN0cmluZyBzb3VyY2VDb2RlKGNvbnN0X2Nhc3Q8
U3RyaW5nSW1wbCo+KHNvdXJjZS0+ZGF0YSgpKSk7CisgICAgICAgIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSA9IHNvdXJjZS0+c291cmNlKCk7CiAgICAgICAgIG1fY3VycmVudFNvdXJjZUNvZGUu
Y2xlYXIoKTsKICAgICAgICAgc291cmNlQ29kZS5zcGxpdCgiXG4iLCB0cnVlLCBtX2N1cnJlbnRT
b3VyY2VDb2RlKTsKICAgICAgICAgbV9jdXJyZW50U291cmNlSUQgPSBzb3VyY2VJRDsKQEAgLTMy
MCw3ICszMjAsNyBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaERpZFBhcnNlU291
cmNlKGNvbnN0IExpc3RlbmVyU2V0JiBsaXN0ZW5lcnMsIFNvdQogCiAgICAgU2NyaXB0RGVidWdM
aXN0ZW5lcjo6U2NyaXB0IHNjcmlwdDsKICAgICBzY3JpcHQudXJsID0gc291cmNlUHJvdmlkZXIt
PnVybCgpOwotICAgIHNjcmlwdC5zb3VyY2UgPSBTdHJpbmcoY29uc3RfY2FzdDxTdHJpbmdJbXBs
Kj4oc291cmNlUHJvdmlkZXItPmRhdGEoKSkpOworICAgIHNjcmlwdC5zb3VyY2UgPSBzb3VyY2VQ
cm92aWRlci0+c291cmNlKCk7CiAgICAgc2NyaXB0LnN0YXJ0TGluZSA9IHNvdXJjZVByb3ZpZGVy
LT5zdGFydFBvc2l0aW9uKCkubV9saW5lLnplcm9CYXNlZEludCgpOwogICAgIHNjcmlwdC5zdGFy
dENvbHVtbiA9IHNvdXJjZVByb3ZpZGVyLT5zdGFydFBvc2l0aW9uKCkubV9jb2x1bW4uemVyb0Jh
c2VkSW50KCk7CiAgICAgc2NyaXB0LmlzQ29udGVudFNjcmlwdCA9IGlzQ29udGVudFNjcmlwdDsK
QEAgLTM1NSw3ICszNTUsNyBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaERpZFBh
cnNlU291cmNlKGNvbnN0IExpc3RlbmVyU2V0JiBsaXN0ZW5lcnMsIFNvdQogdm9pZCBTY3JpcHRE
ZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hGYWlsZWRUb1BhcnNlU291cmNlKGNvbnN0IExpc3RlbmVyU2V0
JiBsaXN0ZW5lcnMsIFNvdXJjZVByb3ZpZGVyKiBzb3VyY2VQcm92aWRlciwgaW50IGVycm9yTGlu
ZSwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCiB7CiAgICAgU3RyaW5nIHVybCA9IHNvdXJj
ZVByb3ZpZGVyLT51cmwoKTsKLSAgICBTdHJpbmcgZGF0YSA9IFN0cmluZyhjb25zdF9jYXN0PFN0
cmluZ0ltcGwqPihzb3VyY2VQcm92aWRlci0+ZGF0YSgpKSk7CisgICAgY29uc3QgU3RyaW5nJiBk
YXRhID0gc291cmNlUHJvdmlkZXItPnNvdXJjZSgpOwogICAgIGludCBmaXJzdExpbmUgPSBzb3Vy
Y2VQcm92aWRlci0+c3RhcnRQb3NpdGlvbigpLm1fbGluZS5vbmVCYXNlZEludCgpOwogCiAgICAg
VmVjdG9yPFNjcmlwdERlYnVnTGlzdGVuZXIqPiBjb3B5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291cmNlQ29kZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0U291cmNlQ29kZS5oCmluZGV4IGZlNWFiN2IwNDc0ZGRkMDc2OGNjMjk2
OTMxYzlkMDBmNWMyOGExZTQuLmIxYWZiZGViMDM3Y2VlYTJhZWIzYjdmNGExYjg1MDM0ZmNmNTAx
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNv
ZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgK
QEAgLTMyLDkgKzMyLDggQEAKICNkZWZpbmUgU2NyaXB0U291cmNlQ29kZV9oCiAKICNpbmNsdWRl
ICJDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oIgotI2luY2x1ZGUgIlNjcmlwdFNvdXJjZVBy
b3ZpZGVyLmgiCi0jaW5jbHVkZSAiU3RyaW5nU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJL
VVJMLmgiCisjaW5jbHVkZSA8cGFyc2VyL1NvdXJjZVByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvVGV4dFBvc2l0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00Myw3
ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGUgewog
cHVibGljOgogICAgIFNjcmlwdFNvdXJjZUNvZGUoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0
IEtVUkwmIHVybCA9IEtVUkwoKSwgY29uc3QgVGV4dFBvc2l0aW9uJiBzdGFydFBvc2l0aW9uID0g
VGV4dFBvc2l0aW9uOjptaW5pbXVtUG9zaXRpb24oKSkKLSAgICAgICAgOiBtX3Byb3ZpZGVyKFN0
cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwuaXNOdWxsKCkgPyBTdHJpbmco
KSA6IHVybC5zdHJpbmcoKSwgc3RhcnRQb3NpdGlvbikpCisgICAgICAgIDogbV9wcm92aWRlcihK
U0M6OlN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwuaXNOdWxsKCkgPyBT
dHJpbmcoKSA6IHVybC5zdHJpbmcoKSwgc3RhcnRQb3NpdGlvbikpCiAgICAgICAgICwgbV9jb2Rl
KG1fcHJvdmlkZXIsIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCkpCiAgICAgICAg
ICwgbV91cmwodXJsKQogICAgIHsKQEAgLTY2LDcgKzY1LDcgQEAgcHVibGljOgogICAgIGNvbnN0
IEtVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgCiBwcml2YXRlOgotICAg
IFJlZlB0cjxTY3JpcHRTb3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKKyAgICBSZWZQdHI8SlND
OjpTb3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKICAgICAKICAgICBKU0M6OlNvdXJjZUNvZGUg
bV9jb2RlOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0U291cmNlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzOTYwODJmYTFj
NzYyODU5YTI1NDhlNTNlZmJhZDJhZDc3NGIwMTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291
cmNlUHJvdmlkZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDkgRGFuaWVsIEJhdGVzIChkYmF0ZXNAaW50dWRhdGEuY29tKQotICogQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpZm5kZWYgU2NyaXB0U291cmNlUHJvdmlkZXJfaAotI2RlZmluZSBT
Y3JpcHRTb3VyY2VQcm92aWRlcl9oCi0KLSNpbmNsdWRlIDxwYXJzZXIvU291cmNlUHJvdmlkZXIu
aD4KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLSAg
ICBjbGFzcyBTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBKU0M6OlNvdXJjZVByb3ZpZGVy
IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFNjcmlwdFNvdXJjZVByb3ZpZGVyKGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBUZXh0UG9zaXRpb24mIHN0YXJ0UG9zaXRpb24sIEpTQzo6U291cmNlUHJv
dmlkZXJDYWNoZSogY2FjaGUgPSAwKQotICAgICAgICAgICAgOiBTb3VyY2VQcm92aWRlcih1cmws
IHN0YXJ0UG9zaXRpb24sIGNhY2hlKQotICAgICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICB2
aXJ0dWFsIGNvbnN0IFN0cmluZyYgc291cmNlKCkgY29uc3QgPSAwOwotICAgIH07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIFNjcmlwdFNvdXJjZVByb3ZpZGVyX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1N0cmluZ1NvdXJjZVByb3ZpZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TdHJpbmdTb3VyY2VQcm92aWRlci5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YjZiYjRlOWFiMTYxNmIyY2ZlZTRlN2M2MmU3
ZGI3ZTQ2ODQzODcxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1N0cmluZ1NvdXJjZVByb3ZpZGVyLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhl
IG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
LSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFN0cmluZ1NvdXJjZVByb3ZpZGVy
X2gKLSNkZWZpbmUgU3RyaW5nU291cmNlUHJvdmlkZXJfaAotCi0jaW5jbHVkZSAiSlNET01CaW5k
aW5nLmgiCi0jaW5jbHVkZSAiU2NyaXB0U291cmNlUHJvdmlkZXIuaCIKLSNpbmNsdWRlIDxwYXJz
ZXIvU291cmNlQ29kZS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLSAgICBjbGFzcyBTdHJp
bmdTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQcm92aWRlciB7Ci0gICAgcHVi
bGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdTb3VyY2VQcm92aWRlcj4gY3Jl
YXRlKGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVGV4dFBv
c2l0aW9uJiBzdGFydFBvc2l0aW9uKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFN0cmluZ1NvdXJjZVByb3ZpZGVyKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9u
KSk7Ci0gICAgICAgIH0KLQotICAgICAgICB2aXJ0dWFsIFN0cmluZyBnZXRSYW5nZShpbnQgc3Rh
cnQsIGludCBlbmQpIGNvbnN0IE9WRVJSSURFCi0gICAgICAgIHsKLSAgICAgICAgICAgIGludCBs
ZW5ndGggPSBlbmQgLSBzdGFydDsKLSAgICAgICAgICAgIEFTU0VSVChsZW5ndGggPj0gMCk7Ci0g
ICAgICAgICAgICBBU1NFUlQoc3RhcnQgKyBsZW5ndGggPD0gdGhpcy0+bGVuZ3RoKCkpOwotCi0g
ICAgICAgICAgICByZXR1cm4gU3RyaW5nKFN0cmluZ0ltcGw6OmNyZWF0ZShtX3NvdXJjZS5pbXBs
KCksIHN0YXJ0LCBsZW5ndGgpKTsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0IFN0cmluZ0lt
cGwqIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZS5pbXBsKCk7IH0KLSAgICAgICAgaW50
IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlLmxlbmd0aCgpOyB9Ci0gICAgICAgIGNv
bnN0IFN0cmluZyYgc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2U7IH0KLQotICAgIHBy
aXZhdGU6Ci0gICAgICAgIFN0cmluZ1NvdXJjZVByb3ZpZGVyKGNvbnN0IFN0cmluZyYgc291cmNl
LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVGV4dFBvc2l0aW9uJiBzdGFydFBvc2l0aW9uKQot
ICAgICAgICAgICAgOiBTY3JpcHRTb3VyY2VQcm92aWRlcih1cmwsIHN0YXJ0UG9zaXRpb24pCi0g
ICAgICAgICAgICAsIG1fc291cmNlKHNvdXJjZSkKLSAgICAgICAgewotICAgICAgICB9Ci0gICAg
ICAgIAotICAgICAgICBTdHJpbmcgbV9zb3VyY2U7Ci0gICAgfTsKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gU3RyaW5nU291cmNlUHJvdmlkZXJfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAppbmRl
eCBhNWZjMzViMjk5NDNhMTc0NWIxN2NjNmY4ZmE1ZGU4MTgyNDQ5OTE1Li43NGEyNGIwOGY3MzU1
NTkxYzFhZThiZGUwMzc5M2ZiYzQxNGVhNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzEsNiArMzEsNyBA
QAogCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0Q29udHJvbGxlci5oIgogCisjaW5jbHVkZSAiSlNE
T01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmgiCiAjaW5j
bHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbSBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCmluZGV4IGZm
NjNmZDJlNDg5YTc4NDA2YWY4OWNkY2M0MzE2NzY3NmNhOTVhMGMuLjE1ZWNmNzcwYWRjYjA5ZjYy
ODg5YjYwOGQxZTZkMWVkNTE2NTFhMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCkBAIC0zOCw3ICszOCw2IEBACiAjaW1wb3J0ICJKU01h
aW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbXBvcnQgIkpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5o
IgogI2ltcG9ydCAiT2JqQ1J1bnRpbWVPYmplY3QuaCIKLSNpbXBvcnQgIlN0cmluZ1NvdXJjZVBy
b3ZpZGVyLmgiCiAjaW1wb3J0ICJXZWJDb3JlT2JqQ0V4dHJhcy5oIgogI2ltcG9ydCAib2JqY19p
bnN0YW5jZS5oIgogI2ltcG9ydCAicnVudGltZV9vYmplY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9OUF9qc29iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
TlBfanNvYmplY3QuY3BwCmluZGV4IDhhM2E1NTIyNzlmNmJjYTAwZWQ0MzYwNjA2ZGZkZjY3YmEx
YjRjMGEuLmMwMmNlZWU0NmI3MzZkODJkNjFmMDc4MDA3ZmFjMmU0ZTM4NDJjYzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9OUF9qc29iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUg
Ik5QX2pzb2JqZWN0LmgiCiAKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCi0jaW5jbHVkZSAiU3Ry
aW5nU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJjX3V0aWxpdHkuaCIKICNpbmNsdWRlICJj
X2luc3RhbmNlLmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllclJlcC5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qbmlfanNvYmplY3QubW0gYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbQppbmRleCBmOTBlNTk4ODk3MTQ2MGQyN2VkMTJmYjBk
ZmQ3YWUwODBlMmM0ZTY2Li41YjI0ZWIwZmU4NjlkOGQwMjQzYzNkMWI2NmJhMWQwZmRhOGYyMjg3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbQpAQCAtMzYsMTEg
KzM2LDExIEBACiAjaW5jbHVkZSAiSmF2YVN0cmluZ0pTQy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiU3RyaW5nU291cmNl
UHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAicnVu
dGltZV9vYmplY3QuaCIKICNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIKICNpbmNsdWRlIDxpbnRl
cnByZXRlci9DYWxsRnJhbWUuaD4KKyNpbmNsdWRlIDxwYXJzZXIvU291cmNlQ29kZS5oPgogI2lu
Y2x1ZGUgPHJ1bnRpbWUvQ29tcGxldGlvbi5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1t
IGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5Lm1tCmluZGV4IDQzYWQyOTg0ZGI1Y2Y0Y2YzYmJiMTBlMmM4M2I5MzQ5ODMxODc2NWMu
LjkxNjU2ZDg0NzBjYmJlZDRkMTc2NzZiNmVlM2M1OTdkNDU3MTdlNTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94
eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdp
bkluc3RhbmNlUHJveHkubW0KQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbXBvcnQgPEphdmFTY3JpcHRD
b3JlL0Vycm9yLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KU0xvY2suaD4KICNpbXBvcnQg
PEphdmFTY3JpcHRDb3JlL1Byb3BlcnR5TmFtZUFycmF5Lmg+CisjaW1wb3J0IDxKYXZhU2NyaXB0
Q29yZS9Tb3VyY2VDb2RlLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9TdHJvbmdJbmxpbmVz
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nvb2tpZUphci5oPgogI2ltcG9ydCA8V2ViQ29yZS9Eb2N1
bWVudExvYWRlci5oPgpAQCAtNTYsNyArNTcsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0
eU9yaWdpbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRDb250cm9sbGVyLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1NjcmlwdFZhbHVlLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1N0cmluZ1NvdXJjZVBy
b3ZpZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL25wcnVudGltZV9pbXBsLmg+CiAjaW1wb3J0IDxXZWJDb3JlL3J1bnRpbWVf
b2JqZWN0Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlNjcmlw
dERlYnVnZ2VyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z2dl
ci5tbQppbmRleCAxM2M0ZjdjZWM0NTMyNGQyNDMzZTNhZGU5Njk4OTJmMTBmZjI3NTM4Li5iOGRi
YTgxMDJmMTdkYzgwZmFjNDY1ZTQ3MWE5NzkxNWE1ODY0YWRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlNjcmlwdERlYnVnZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViU2NyaXB0RGVidWdnZXIubW0KQEAgLTUxLDExICs1MSwxMiBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIC0gKHZvaWQpX2NsZWFyRGVidWdnZXJDYWxsRnJhbWU7
CiBAZW5kCiAKLXN0YXRpYyBOU1N0cmluZyAqdG9OU1N0cmluZyhTb3VyY2VQcm92aWRlciogcykK
K3N0YXRpYyBOU1N0cmluZyAqdG9OU1N0cmluZyhTb3VyY2VQcm92aWRlciogc291cmNlUHJvdmlk
ZXIpCiB7Ci0gICAgaWYgKCFzLT5sZW5ndGgoKSkKKyAgICBjb25zdCBTdHJpbmcmIHNvdXJjZVN0
cmluZyA9IHNvdXJjZVByb3ZpZGVyLT5zb3VyY2UoKTsKKyAgICBpZiAoc291cmNlU3RyaW5nLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIG5pbDsKLSAgICByZXR1cm4gW05TU3RyaW5nIHN0cmlu
Z1dpdGhDaGFyYWN0ZXJzOnMtPmRhdGEoKS0+Y2hhcmFjdGVycygpIGxlbmd0aDpzLT5sZW5ndGgo
KV07CisgICAgcmV0dXJuIHNvdXJjZVN0cmluZzsKIH0KIAogLy8gQ29udmVydCBTdHJpbmcgdG8g
TlNVUkwuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164011</attachid>
            <date>2012-09-13 17:28:58 -0700</date>
            <delta_ts>2012-09-13 18:49:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95635-20120913172831.patch</filename>
            <type>text/plain</type>
            <size>37726</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YzEwOGZhNWQ2OTgwNzFlZDA0OTFhYzUxOGZmYWQwYTcwNTNlOThmLi5jMGJlMDdlNDNlMzNkZjk2
ZjI4NzM2YzU1NGI5YWUwYjdkMjRjZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNiBAQAorMjAxMi0wOS0xMyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXByb3ZlIHRoZSBTb3VyY2VQcm92aWRlciBoaWVyYXJjaHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NjM1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU291cmNlUHJvdmlk
ZXIgd2FzIGRlc2lnbmVkIHRvIGhhdmUgc3ViY2xhc3NlcyBtYWdpY2FsbHkgaGFuZGxpbmcgdGhl
IGRhdGEgd2l0aG91dAorICAgICAgICBkZWNvZGluZyBhbGwgb2YgaXQuIFRoZSB2aXJ0dWFsIG1l
dGhvZHMgbGVuZ3RoKCkgYW5kIGdldFJhbmdlKCkgd2VyZSBiYXNlZAorICAgICAgICBvbiB0aGVz
ZSBhc3N1bXB0aW9ucy4KKworICAgICAgICBJbiBwcmFjdGljZSwgdGhlIG1hZ2ljIHdhcyBpbiBv
dXIgaGVhZCwgdGhlcmUgaXMgbm8gaW1wbGVtZW50YXRpb24gdGhhdCB0YWtlcworICAgICAgICBh
ZHZhbnRhZ2Ugb2YgdGhhdC4KKworICAgICAgICBTb3VyY2VQcm92aWRlciBpcyBtb2RpZmllZCB0
byBhZG9wdCBXZWJDb3JlJ3MgU2NyaXB0U291cmNlUHJvdmlkZXI6OnNvdXJjZSgpIGFuZCBiYXNl
CisgICAgICAgIGV2ZXJ5dGhpbmcgb24gaXQuCisgICAgICAgIFRoZSBjb2RlIHVzaW5nIFNvdXJj
ZVByb3ZpZGVyIGlzIGFsc28gc2ltcGxpZmllZC4KKworICAgICAgICAqIGludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6YXBwZW5kU291cmNlVG9FcnJvcik6IEtlZXAg
YSByZWZlcmVuY2UgdG8gdGhlIHN0cmluZyBpbnN0ZWFkIG9mIHF1ZXJ5aW5nIGl0IGZvcgorICAg
ICAgICBlYWNoIHRpbWUgaXQgaXMgdXNlZC4KKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuY3BwOgor
ICAgICAgICAoSlNDOjo6OnNldENvZGUpOgorICAgICAgICAoSlNDOjo6OnNvdXJjZUNvZGUpOgor
ICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6cGFyc2UpOgorICAgICAg
ICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6CisgICAgICAgIChKU0M6OlNvdXJjZUNvZGU6OlNvdXJj
ZUNvZGUpOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKToKKyAgICAg
ICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXIuaDoKKyAgICAgICAgKFNvdXJjZVByb3ZpZGVyKToK
KyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXI6OmdldFJhbmdlKToKKwogMjAxMi0wOS0xMyAg
TWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFt
ZSBmb3JFYWNoQ2VsbCB0byBmb3JFYWNoTGl2ZUNlbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3YzI4NWJiZTJh
ZDQ5YjRjYzg3NGFkMTczYzUxMjQ5ZTFiNWY5MDgyLi45ZTExMGE1NzQ1YWRhMTIyZWI5YmRhNzcw
NWZlOTM1ZWVjNWJiZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTItMDktMTMg
IEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92
ZSB0aGUgU291cmNlUHJvdmlkZXIgaGllcmFyY2h5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTYzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgU2NyaXB0U291cmNlUHJvdmlkZXIgYW5k
IFN0cmluZ1NvdXJjZVByb3ZpZGVyLCB0aGV5IGhhdmUgYmVlbiBtYWRlCisgICAgICAgIHVzZWxl
c3MgYnkgSmF2YVNjcmlwdCB1cGRhdGVzLgorCisgICAgICAgIE9uIHg4Nl82NCwgdGhpcyByZWR1
Y2VzIHRoZSBiaW5hcnkgc2l6ZSBieSA2a2IuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9DYWNoZWRT
Y3JpcHRTb3VyY2VQcm92aWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0U291
cmNlUHJvdmlkZXI6OkNhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRE
ZWJ1Z1NlcnZlcjo6dXBkYXRlQ3VycmVudFN0YXRlbWVudFBvc2l0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaERpZFBhcnNlU291cmNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaEZhaWxlZFRvUGFyc2VTb3Vy
Y2UpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdFNvdXJjZUNvZGU6OlNjcmlwdFNvdXJjZUNvZGUpOgorICAgICAgICAo
U2NyaXB0U291cmNlQ29kZSk6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0U291cmNlUHJv
dmlkZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TdHJpbmdTb3VyY2VQcm92
aWRlci5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRy
b2xsZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tOgor
ICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5jcHA6CisgICAgICAgICogYnJpZGdlL2puaS9q
bmlfanNvYmplY3QubW06CisKIDIwMTItMDktMTMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgc3VzcGVuZC9yZXN1bWVXaWRnZXRIaWVyYXJjaHlVcGRhdGVzIHNo
b3VsZCBiZSBhIFJBSUkgb2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzQ0MWI3ZGQ2MGZiNjQ3
ZDgxYzBmZDM1NzhjOGM1ODViOWI3ZmU0NS4uYmFlN2I1NzdkYTNhYzA3NjM4ZmY2MjU0Njg0N2Qz
YTU5Y2ZlMGYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTEz
ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIEltcHJv
dmUgdGhlIFNvdXJjZVByb3ZpZGVyIGhpZXJhcmNoeQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU2MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5z
dGFuY2VQcm94eS5tbTogRml4IGEgI2luY2x1ZGUgYWJ1c2UuCisgICAgICAgICogV2ViVmlldy9X
ZWJTY3JpcHREZWJ1Z2dlci5tbToKKyAgICAgICAgKHRvTlNTdHJpbmcpOiBXZSBjYW4gbm93IHVz
ZSB0aGUgKGZhc3RlcikgaW1wbGljaXQgY29udmVyc2lvbgorICAgICAgICBmcm9tIFN0cmluZyB0
byBOU1N0cmluZy4KKwogMjAxMi0wOS0xMyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBzdXNwZW5kL3Jlc3VtZVdpZGdldEhpZXJhcmNoeVVwZGF0ZXMgc2hvdWxk
IGJlIGEgUkFJSSBvYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDYzZDcxODNiNDY0N2U5NjlkNjk5ODIxNmY5NDU0ZjIy
OWMxMjQwZGYuLjc3ZDg3ZTJmMjkyODY0NGY3YmM2MjgzNGI5YmIyZGZhYzk3ZmRmM2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApA
QCAtNTI1LDcgKzUyNSw4IEBAIHN0YXRpYyB2b2lkIGFwcGVuZFNvdXJjZVRvRXJyb3IoQ2FsbEZy
YW1lKiBjYWxsRnJhbWUsIEVycm9ySW5zdGFuY2UqIGV4Y2VwdGlvbiwKICAgICBpbnQgZXhwcmVz
c2lvblN0YXJ0ID0gZGl2b3RQb2ludCAtIHN0YXJ0T2Zmc2V0OwogICAgIGludCBleHByZXNzaW9u
U3RvcCA9IGRpdm90UG9pbnQgKyBlbmRPZmZzZXQ7CiAKLSAgICBpZiAoIWV4cHJlc3Npb25TdG9w
IHx8IGV4cHJlc3Npb25TdGFydCA+IGNvZGVCbG9jay0+c291cmNlKCktPmxlbmd0aCgpKQorICAg
IGNvbnN0IFN0cmluZyYgc291cmNlU3RyaW5nID0gY29kZUJsb2NrLT5zb3VyY2UoKS0+c291cmNl
KCk7CisgICAgaWYgKCFleHByZXNzaW9uU3RvcCB8fCBleHByZXNzaW9uU3RhcnQgPiBzdGF0aWNf
Y2FzdDxpbnQ+KHNvdXJjZVN0cmluZy5sZW5ndGgoKSkpCiAgICAgICAgIHJldHVybjsKIAogICAg
IEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZjYWxsRnJhbWUtPmdsb2JhbERhdGEoKTsKQEAg
LTUzOSw4ICs1NDAsOCBAQCBzdGF0aWMgdm9pZCBhcHBlbmRTb3VyY2VUb0Vycm9yKENhbGxGcmFt
ZSogY2FsbEZyYW1lLCBFcnJvckluc3RhbmNlKiBleGNlcHRpb24sCiAgICAgICAgIG1lc3NhZ2Ug
PSAgbWFrZVN0cmluZyhtZXNzYWdlLCAiIChldmFsdWF0aW5nICciLCBjb2RlQmxvY2stPnNvdXJj
ZSgpLT5nZXRSYW5nZShleHByZXNzaW9uU3RhcnQsIGV4cHJlc3Npb25TdG9wKSwgIicpIik7CiAg
ICAgZWxzZSB7CiAgICAgICAgIC8vIE5vIHJhbmdlIGluZm9ybWF0aW9uLCBzbyBnaXZlIGEgZmV3
IGNoYXJhY3RlcnMgb2YgY29udGV4dAotICAgICAgICBjb25zdCBTdHJpbmdJbXBsKiBkYXRhID0g
Y29kZUJsb2NrLT5zb3VyY2UoKS0+ZGF0YSgpOwotICAgICAgICBpbnQgZGF0YUxlbmd0aCA9IGNv
ZGVCbG9jay0+c291cmNlKCktPmxlbmd0aCgpOworICAgICAgICBjb25zdCBTdHJpbmdJbXBsKiBk
YXRhID0gc291cmNlU3RyaW5nLmltcGwoKTsKKyAgICAgICAgaW50IGRhdGFMZW5ndGggPSBzb3Vy
Y2VTdHJpbmcubGVuZ3RoKCk7CiAgICAgICAgIGludCBzdGFydCA9IGV4cHJlc3Npb25TdGFydDsK
ICAgICAgICAgaW50IHN0b3AgPSBleHByZXNzaW9uU3RhcnQ7CiAgICAgICAgIC8vIEdldCB1cCB0
byAyMCBjaGFyYWN0ZXJzIG9mIGNvbnRleHQgdG8gdGhlIGxlZnQgYW5kIHJpZ2h0IG9mIHRoZSBk
aXZvdCwgY2xhbXBpbmcgdG8gdGhlIGxpbmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuY3BwCmluZGV4IDA2MzE2OGJlMTNjMTZjNGJmZGUwM2ZjNDliYTkwMDAwM2Y1ODBkYjMuLjhj
OWVhYTEyYzUzNjA0ZGFmM2NjN2ZiZDlmZWU0ODE4NTJkNGQ0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC00MDUsMTAgKzQwNSwxMCBAQCB2b2lkIExleGVyPFQ+
OjpzZXRDb2RlKGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyc2VyQXJlbmEqIGFyZW5hKQog
ICAgIG1fbGluZU51bWJlciA9IHNvdXJjZS5maXJzdExpbmUoKTsKICAgICBtX2xhc3RUb2tlbiA9
IC0xOwogICAgIAotICAgIGNvbnN0IFN0cmluZ0ltcGwqIHNvdXJjZVN0cmluZyA9IHNvdXJjZS5w
cm92aWRlcigpLT5kYXRhKCk7CisgICAgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJpbmcgPSBzb3Vy
Y2UucHJvdmlkZXIoKS0+c291cmNlKCk7CiAKLSAgICBpZiAoc291cmNlU3RyaW5nKQotICAgICAg
ICBzZXRDb2RlU3RhcnQoc291cmNlU3RyaW5nKTsKKyAgICBpZiAoIXNvdXJjZVN0cmluZy5pc051
bGwoKSkKKyAgICAgICAgc2V0Q29kZVN0YXJ0KHNvdXJjZVN0cmluZy5pbXBsKCkpOwogICAgIGVs
c2UKICAgICAgICAgbV9jb2RlU3RhcnQgPSAwOwogCkBAIC0xNjg5LDggKzE2ODksOCBAQCB2b2lk
IExleGVyPFQ+OjpjbGVhcigpCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIFNvdXJjZUNvZGUgTGV4
ZXI8VD46OnNvdXJjZUNvZGUoaW50IG9wZW5CcmFjZSwgaW50IGNsb3NlQnJhY2UsIGludCBmaXJz
dExpbmUpCiB7Ci0gICAgQVNTRVJUKCgqbV9zb3VyY2UtPnByb3ZpZGVyKCktPmRhdGEoKSlbb3Bl
bkJyYWNlXSA9PSAneycpOwotICAgIEFTU0VSVCgoKm1fc291cmNlLT5wcm92aWRlcigpLT5kYXRh
KCkpW2Nsb3NlQnJhY2VdID09ICd9Jyk7CisgICAgQVNTRVJUKG1fc291cmNlLT5wcm92aWRlcigp
LT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CisgICAgQVNTRVJUKG1fc291cmNlLT5wcm92
aWRlcigpLT5zb3VyY2UoKVtjbG9zZUJyYWNlXSA9PSAnfScpOwogICAgIHJldHVybiBTb3VyY2VD
b2RlKG1fc291cmNlLT5wcm92aWRlcigpLCBvcGVuQnJhY2UsIGNsb3NlQnJhY2UgKyAxLCBmaXJz
dExpbmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAzYTYx
ZGExYTg1N2JiZTkxMzk1ODlhYmEzMTQ2Zjg3OGVlOGEzMGQ3Li5lNjU3ZTEyY2RkYmNlYWNiOTA2
ZGJjNTk5ZmIzNDhhNzUyYjVhZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmgKQEAgLTEwMjksOSArMTAyOSw5IEBAIFBhc3NSZWZQdHI8UGFyc2VkTm9kZT4gcGFyc2UoSlNH
bG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsCiB7CiAgICAg
U2FtcGxpbmdSZWdpb24gc2FtcGxpbmdSZWdpb24oIlBhcnNpbmciKTsKIAotICAgIEFTU0VSVChz
b3VyY2UucHJvdmlkZXIoKS0+ZGF0YSgpKTsKKyAgICBBU1NFUlQoIXNvdXJjZS5wcm92aWRlcigp
LT5zb3VyY2UoKS5pc051bGwoKSk7CiAKLSAgICBpZiAoc291cmNlLnByb3ZpZGVyKCktPmRhdGEo
KS0+aXM4Qml0KCkpIHsKKyAgICBpZiAoc291cmNlLnByb3ZpZGVyKCktPnNvdXJjZSgpLmlzOEJp
dCgpKSB7CiAgICAgICAgIFBhcnNlcjwgTGV4ZXI8TENoYXI+ID4gcGFyc2VyKGdsb2JhbERhdGEs
IHNvdXJjZSwgcGFyYW1ldGVycywgbmFtZSwgc3RyaWN0bmVzcywgcGFyc2VyTW9kZSk7CiAgICAg
ICAgIHJldHVybiBwYXJzZXIucGFyc2U8UGFyc2VkTm9kZT4obGV4aWNhbEdsb2JhbE9iamVjdCwg
ZGVidWdnZXIsIGV4ZWNTdGF0ZSwgZXhjZXB0aW9uKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IGJkYTkxYjNjOGE2ZjNiNjBmMWYyM2ZjNjlm
YWJmMmFlMTBjMDMwNDUuLmEwOTQ0NjlhMmY5NjNkZTcxZjkxZGJjYjFiMDk5YmM3YmQwYmM1MjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC00Nyw3ICs0
Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBTb3VyY2VDb2RlKFBhc3NSZWZQdHI8U291
cmNlUHJvdmlkZXI+IHByb3ZpZGVyLCBpbnQgZmlyc3RMaW5lID0gMSkKICAgICAgICAgICAgIDog
bV9wcm92aWRlcihwcm92aWRlcikKICAgICAgICAgICAgICwgbV9zdGFydENoYXIoMCkKLSAgICAg
ICAgICAgICwgbV9lbmRDaGFyKG1fcHJvdmlkZXItPmxlbmd0aCgpKQorICAgICAgICAgICAgLCBt
X2VuZENoYXIobV9wcm92aWRlci0+c291cmNlKCkubGVuZ3RoKCkpCiAgICAgICAgICAgICAsIG1f
Zmlyc3RMaW5lKHN0ZDo6bWF4KGZpcnN0TGluZSwgMSkpCiAgICAgICAgIHsKICAgICAgICAgfQpA
QCAtOTcsOCArOTcsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGlubGluZSBTb3VyY2VDb2Rl
IFNvdXJjZUNvZGU6OnN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBj
bG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lKQogICAgIHsKLSAgICAgICAgQVNTRVJUKCgqcHJvdmlk
ZXIoKS0+ZGF0YSgpKVtvcGVuQnJhY2VdID09ICd7Jyk7Ci0gICAgICAgIEFTU0VSVCgoKnByb3Zp
ZGVyKCktPmRhdGEoKSlbY2xvc2VCcmFjZV0gPT0gJ30nKTsKKyAgICAgICAgQVNTRVJUKHByb3Zp
ZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKKyAgICAgICAgQVNTRVJUKHByb3Zp
ZGVyKCktPnNvdXJjZSgpW2Nsb3NlQnJhY2VdID09ICd9Jyk7CiAgICAgICAgIHJldHVybiBTb3Vy
Y2VDb2RlKHByb3ZpZGVyKCksIG9wZW5CcmFjZSwgY2xvc2VCcmFjZSArIDEsIGZpcnN0TGluZSk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZVByb3ZpZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVy
LmgKaW5kZXggN2YyZThkOTk1ZjViNTdlZmYzYzUwOTAyODkyZmI1NTMzNDE0NjNiOS4uMTQ1YjJk
ZDE2MDIxZTJlY2U1M2JmMjU5MmM4ZGQ0MzNkNjZiN2M4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTYsMTAgKzU2LDEy
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgICAgIGRlbGV0ZSBtX2NhY2hlOwogICAg
ICAgICB9CiAKLSAgICAgICAgdmlydHVhbCBTdHJpbmcgZ2V0UmFuZ2UoaW50IHN0YXJ0LCBpbnQg
ZW5kKSBjb25zdCA9IDA7Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU3RyaW5nSW1wbCogZGF0YSgp
IGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCBpbnQgbGVuZ3RoKCkgY29uc3QgPSAwOwotICAg
ICAgICAKKyAgICAgICAgdmlydHVhbCBjb25zdCBTdHJpbmcmIHNvdXJjZSgpIGNvbnN0ID0gMDsK
KyAgICAgICAgU3RyaW5nIGdldFJhbmdlKGludCBzdGFydCwgaW50IGVuZCkgY29uc3QKKyAgICAg
ICAgeworICAgICAgICAgICAgcmV0dXJuIHNvdXJjZSgpLnN1YnN0cmluZ1NoYXJpbmdJbXBsKHN0
YXJ0LCBlbmQgLSBzdGFydCk7CisgICAgICAgIH0KKwogICAgICAgICBjb25zdCBTdHJpbmcmIHVy
bCgpIHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgICAgIFRleHRQb3NpdGlvbiBzdGFydFBvc2l0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9zdGFydFBvc2l0aW9uOyB9CiAgICAgICAgIGludHB0cl90IGFz
SUQoKQpAQCAtOTMsMTIgKzk1LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTdHJpbmdTb3VyY2VQcm92aWRlcihzb3VyY2UsIHVybCwgc3RhcnRQ
b3NpdGlvbikpOwogICAgICAgICB9CiAKLSAgICAgICAgdmlydHVhbCBTdHJpbmcgZ2V0UmFuZ2Uo
aW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdCBPVkVSUklERQorICAgICAgICB2aXJ0dWFsIGNvbnN0
IFN0cmluZyYgc291cmNlKCkgY29uc3QgT1ZFUlJJREUKICAgICAgICAgewotICAgICAgICAgICAg
cmV0dXJuIG1fc291cmNlLnN1YnN0cmluZ1NoYXJpbmdJbXBsKHN0YXJ0LCBlbmQgLSBzdGFydCk7
CisgICAgICAgICAgICByZXR1cm4gbV9zb3VyY2U7CiAgICAgICAgIH0KLSAgICAgICAgY29uc3Qg
U3RyaW5nSW1wbCogZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlLmltcGwoKTsgfQotICAg
ICAgICBpbnQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UubGVuZ3RoKCk7IH0KIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIFN0cmluZ1NvdXJjZVByb3ZpZGVyKGNvbnN0IFN0cmluZyYg
c291cmNlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVGV4dFBvc2l0aW9uJiBzdGFydFBvc2l0
aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYmE3Y2JkY2ViMTkzZWU1Y2Nh
ZTJlNjM3YjZhNWM0NGZkMTJkODY4NS4uMWUwYmIxYmNkMGM1MzE5ZTZhOWM4NTk0ODk1Njg0ZGU0
NmVkNzg4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNDE3LDcgKzI0MTcs
NiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFByb2ZpbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291cmNlQ29kZS5o
IFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VQcm92aWRlci5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFZhbHVlLmNwcCBcCkBAIC0yNDI1LDcgKzI0MjQsNiBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBwYWJsZS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBc
Ci0JU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU3RyaW5nU291cmNlUHJvdmlkZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCmluZGV4IDMzZTc4ZTE5ZWJiYjExYzNjYWQxYzMzNTk3MTRjN2FmNDVkMzRmYmUuLmQyYTQ0
M2Y5OWVhZWIyNmRjNTkzYWEzYzU4ZmI1OWQwODYxM2FjNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTM0
MiwxMiArMTM0MiwxMCBAQCBIRUFERVJTICs9IFwKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRQcm9m
aWxlTm9kZS5oIFwKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oIFwKICAgICBiaW5k
aW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmggXAotICAgIGJpbmRpbmdzL2pzL1NjcmlwdFNvdXJj
ZVByb3ZpZGVyLmggXAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggXAogICAgIGJpbmRp
bmdzL2pzL1NjcmlwdFZhbHVlLmggXAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdFdyYXBwYWJsZS5o
IFwKICAgICBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBcCi0gICAgYmluZGlu
Z3MvanMvU3RyaW5nU291cmNlUHJvdmlkZXIuaCBcCiAgICAgYmluZGluZ3MvanMvV2ViQ29yZUpT
Q2xpZW50RGF0YS5oIFwKICAgICBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgg
XAogICAgIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmggXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDA5MjU3MjVkMDY4N2IyYjM2ZjM3MDBmMmE1YjY2Y2E2Yjk5NzBkZjUuLjViZTdi
YTJhMmY0OTM0ODYxNTkyMDEzYmJlMWI4YTYwN2U2NmU4NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTQ5LDEyICs0OSwxMCBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGUu
aCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZU5vZGUuaCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaCcsCi0gICAgICAgICAgICAnYmlu
ZGluZ3MvanMvU2NyaXB0U291cmNlUHJvdmlkZXIuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvU2NyaXB0U3RhdGUuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvU2NyaXB0VmFsdWUu
aCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvU2NyaXB0V3JhcHBhYmxlLmgnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oJywKLSAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9TdHJpbmdTb3VyY2VQcm92aWRlci5oJywKICAgICAgICAgICAgICdiaW5k
aW5ncy9vYmpjL0RPTS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy9vYmpjL0RPTUNTUy5oJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9vYmpjL0RPTUNvcmUuaCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDA0NTg3ZTlhZTEwNzA3ZjM2YzZi
YzVmMTJlMDMzZDRjYmZjY2RmMTMuLmI5Y2JmNDk3MmNjYjk3YWYxYzczYjY0ODdmZGZlNDFmYWE3
ZDE1MTggMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC03MjA3MCwxMCArNzIwNzAsNiBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxl
Ci0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcU2NyaXB0U291cmNlUHJvdmlkZXIu
aCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGJpbmRpbmdzXGpzXFNjcmlwdFN0YXRlLmNwcCIKIAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KQEAgLTcyMTk4LDEwICs3MjE5NCw2IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJ
PEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xTdHJpbmdTb3VyY2VQcm92
aWRlci5oIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cYmluZGluZ3NcanNcV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgogCQkJCQk+CiAJCQkJPC9G
aWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDE1NTdmZTk0ZDg0MTMzNDhkZTYyNTAzNmM2OTA0YzQzYjUyMjU1YjcuLjc2YWFm
Y2Q1NTEzNmRhNGQ2MWZkM2Q4MWRiNGQ0M2IzZGZhZTAyMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3MzMsNyArMTczMyw2
IEBACiAJCTY1MTVFQzkxMEQ5NzIzRkYwMDYzRDQ5QSAvKiBKU1NWR0FsdEdseXBoRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTE1RUM4
RjBEOTcyM0ZGMDA2M0Q0OUEgLyogSlNTVkdBbHRHbHlwaEVsZW1lbnQuY3BwICovOyB9OwogCQk2
NTE1RUM5MjBEOTcyM0ZGMDA2M0Q0OUEgLyogSlNTVkdBbHRHbHlwaEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1MTVFQzkwMEQ5NzIzRkYw
MDYzRDQ5QSAvKiBKU1NWR0FsdEdseXBoRWxlbWVudC5oICovOyB9OwogCQk2NTJGQkJCQzBERTI3
Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1MkZCQkJCMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RP
TVdpbmRvd0N1c3RvbS5oICovOyB9OwotCQk2NTQ4OEQ2QjBERDVBODNEMDA5RDgzQjIgLyogU3Ry
aW5nU291cmNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDY1NDg4RDZBMERENUE4M0QwMDlEODNCMiAvKiBTdHJpbmdTb3VyY2VQcm92aWRl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTY1
NTBCNjlEMDk5REYwMjcwMDkwRDc4MSAvKiBDREFUQVNlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU1MEI2OTMwOTlERjAyNzAwOTBENzgx
IC8qIENEQVRBU2VjdGlvbi5jcHAgKi87IH07CiAJCTY1NTBCNjlFMDk5REYwMjcwMDkwRDc4MSAv
KiBDREFUQVNlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDY1NTBCNjk0MDk5REYwMjcwMDkwRDc4MSAvKiBDREFUQVNlY3Rpb24uaCAqLzsgfTsK
IAkJNjU1MEI2OUYwOTlERjAyNzAwOTBENzgxIC8qIENoYXJhY3RlckRhdGEuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU1MEI2OTUwOTlERjAyNzAw
OTBENzgxIC8qIENoYXJhY3RlckRhdGEuY3BwICovOyB9OwpAQCAtNTg4MCw3ICs1ODc5LDYgQEAK
IAkJQ0UwNTdGQTYxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2VyQ29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UwNTdGQTQx
MjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2VyQ29udHJvbGxlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFMDhDM0QxMTUyQjU5OUEw
MDIxQjhDMiAvKiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMDhDM0NGMTUyQjU5OUEwMDIxQjhDMiAv
KiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJQ0UwOEMzRDIxNTJCNTk5
QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMDhDM0QwMTUyQjU5OUEwMDIxQjhDMiAv
KiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoKTsgfTsgfTsKLQkJQ0U1NEZEMzgxMDE2RDlBNjAwOEI0NEM4IC8qIFNjcmlwdFNvdXJjZVBy
b3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTU0RkQzNzEwMTZEOUE2MDA4QjQ0QzggLyogU2NyaXB0U291cmNlUHJvdmlkZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTdCMkRCMzE1ODZB
QkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTdCMkRBRjE1ODZBQkFEMDA5OEIz
RkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0U3QjJEQjQxNTg2QUJBRDAwOThCM0ZBIC8q
IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREIwMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5h
dGl2ZVRleHRVSUNvbnRyb2xsZXIubW0gKi87IH07CiAJCUNFN0IyREI1MTU4NkFCQUQwMDk4QjNG
QSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREIxMTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0
ZXJuYXRpdmVXaXRoUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtODkxNiw3ICs4OTE0LDYgQEAKIAkJNjUxNUVDOEYwRDk3MjNGRjAwNjNE
NDlBIC8qIEpTU1ZHQWx0R2x5cGhFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTU1ZHQWx0R2x5cGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNjUxNUVDOTAwRDk3MjNGRjAwNjNENDlBIC8qIEpTU1ZHQWx0R2x5cGhFbGVt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1ZHQWx0R2x5cGhFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1MkZCQkJCMERFMjdDQjYwMDAx
RDM4NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0RPTVdpbmRvd0N1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2
NTQ4OEQ2QTBERDVBODNEMDA5RDgzQjIgLyogU3RyaW5nU291cmNlUHJvdmlkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyaW5nU291cmNlUHJvdmlkZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU0OEUyNDgwOUUxRTA0RDAwQUY4MDIwIC8qIERvY3Vt
ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRG9jdW1lbnQuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2NTUwQjY5MzA5OURGMDI3MDA5MEQ3ODEgLyogQ0RBVEFTZWN0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDREFUQVNlY3Rp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTUwQjY5NDA5OURGMDI3MDA5
MEQ3ODEgLyogQ0RBVEFTZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDREFUQVNlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjI1LDcg
KzEzMjIyLDYgQEAKIAkJQ0UwNTdGQTQxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2Vy
Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1bWVudE1h
cmtlckNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UwOEMzQ0Yx
NTJCNTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFMDhDM0QwMTUyQjU5OUEwMDIxQjhD
MiAvKiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQ0U1NEZEMzcxMDE2RDlBNjAwOEI0NEM4IC8qIFNjcmlwdFNvdXJjZVByb3Zp
ZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdFNvdXJjZVByb3Zp
ZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFNUNCMUIzMTRFREFCNkYwMEJC
Mjc5NSAvKiBFdmVudFNlbmRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBF
dmVudFNlbmRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTdCMkRBRjE1ODZB
QkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5oOyBwYXRo
ID0gbWFjL0FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRTdCMkRCMDE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlD
b250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gQWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tOyBwYXRoID0gbWFjL0FsdGVybmF0aXZlVGV4dFVJ
Q29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMjYwLDcgKzIw
MjU2LDYgQEAKIAkJCQk5RjcyMzA0RDExMTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZXIu
Y3BwICovLAogCQkJCTlGNzIzMDRFMTExODRCNDEwMEFEMDEyNiAvKiBTY3JpcHRQcm9maWxlci5o
ICovLAogCQkJCTkzNENDMTA5MEVEQjIyMzkwMEE2NThGMiAvKiBTY3JpcHRTb3VyY2VDb2RlLmgg
Ki8sCi0JCQkJQ0U1NEZEMzcxMDE2RDlBNjAwOEI0NEM4IC8qIFNjcmlwdFNvdXJjZVByb3ZpZGVy
LmggKi8sCiAJCQkJNDEyN0Q1MzYwRjhBQUIxRDAwRTQyNEY1IC8qIFNjcmlwdFN0YXRlLmNwcCAq
LywKIAkJCQk0MUM3NjBCMDBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0U3RhdGUuaCAqLywKIAkJ
CQk5MzRDQzBERjBFRDM5RDZGMDBBNjU4RjIgLyogU2NyaXB0VmFsdWUuY3BwICovLApAQCAtMjAy
NjgsNyArMjAyNjMsNiBAQAogCQkJCTIyOEMyODQ0MTBEODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRX
cmFwcGFibGUuaCAqLywKIAkJCQlBNzVFNDk3NTEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcCAqLywKIAkJCQlBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmggKi8sCi0JCQkJNjU0ODhENkEwREQ1QTgzRDAwOUQ4M0IyIC8q
IFN0cmluZ1NvdXJjZVByb3ZpZGVyLmggKi8sCiAJCQkJQkM1M0Q5MTAxMTQzMTBDQzAwMEQ4MTdF
IC8qIFdlYkNvcmVKU0NsaWVudERhdGEuaCAqLywKIAkJCQlFMUE2NDNGQzBFQzA5N0EwMDA3Nzk2
NjggLyogV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAgKi8sCiAJCQkJRTFBNjQzRjEwRUMwOTcy
NTAwNzc5NjY4IC8qIFdvcmtlclNjcmlwdENvbnRyb2xsZXIuaCAqLywKQEAgLTI0ODczLDcgKzI0
ODY3LDYgQEAKIAkJCQk5RjcyMzA1MTExMTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCThBNDEzQUUwMTIwN0JCQTUwMDgyMDE2RSAvKiBTY3JpcHRS
dW5uZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNENDMTBBMEVEQjIyMzkwMEE2NThGMiAvKiBT
Y3JpcHRTb3VyY2VDb2RlLmggaW4gSGVhZGVycyAqLywKLQkJCQlDRTU0RkQzODEwMTZEOUE2MDA4
QjQ0QzggLyogU2NyaXB0U291cmNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxQzc2
MEIxMEVERTAzRDMwMEMxNjU1RiAvKiBTY3JpcHRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTM0Q0MwRTIwRUQzOUQ2RjAwQTY1OEYyIC8qIFNjcmlwdFZhbHVlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyMjhDMjg0NTEwRDgyNTAwMDA5RDBEMEUgLyogU2NyaXB0V3JhcHBhYmxlLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI1MDAxLDcgKzI0OTk0LDYgQEAKIAkJCQkzQUIwMkQyQTEyRDRGOTE2MDBG
QkI2OTQgLyogU3RvcmFnZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTNBQzM2ODAwMTJF
RjdBMDkwMDZBM0Q2RiAvKiBTdG9yYWdlVHJhY2tlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODFBQzZDMzYxMzFDNTdEMzAwMDlBN0UwIC8qIFN0cmluZ0NhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk2NTQ4OEQ2QjBERDVBODNEMDA5RDgzQjIgLyogU3RyaW5nU291cmNlUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMzU0MEYzMEQwMDc4MkUwMDIzODJGQSAvKiBTdHJp
bmdUcnVuY2F0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCNkM0MTUzMTM0NDk0OTAwMDA4NUI2
MiAvKiBTdHJpbmdXaXRoRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDlGNzc3NjBF
RkVDNjIwMDA5MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVBy
b3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQ
cm92aWRlci5oCmluZGV4IDBkZDNjZjU3N2YxODZmNGIyMDVjZWEwOGZkYjU4YTExY2VmZmNhNDcu
LjgxNmM4NmM1YTYyNGUzYzE3YWE3MWRjNmJiOGU3N2JjZjZhYWE5ODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIu
aApAQCAtMjksNTYgKzI5LDQ0IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCIK
ICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlw
dC5oIgotI2luY2x1ZGUgIlNjcmlwdFNvdXJjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSA8cGFyc2Vy
L1NvdXJjZUNvZGUuaD4KKyNpbmNsdWRlIDxwYXJzZXIvU291cmNlUHJvdmlkZXIuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIg
OiBwdWJsaWMgU2NyaXB0U291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7Ci0gICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotICAgIHB1YmxpYzoKLSAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0ZShD
YWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hlZFNj
cmlwdFNvdXJjZVByb3ZpZGVyKGNhY2hlZFNjcmlwdCkpOyB9CitjbGFzcyBDYWNoZWRTY3JpcHRT
b3VyY2VQcm92aWRlciA6IHB1YmxpYyBKU0M6OlNvdXJjZVByb3ZpZGVyLCBwdWJsaWMgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUo
Q2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRT
Y3JpcHRTb3VyY2VQcm92aWRlcihjYWNoZWRTY3JpcHQpKTsgfQogCi0gICAgICAgIHZpcnR1YWwg
fkNhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyKCkKLSAgICAgICAgewotICAgICAgICAgICAgbV9j
YWNoZWRTY3JpcHQtPnJlbW92ZUNsaWVudCh0aGlzKTsKLSAgICAgICAgfQotCi0gICAgICAgIHZp
cnR1YWwgU3RyaW5nIGdldFJhbmdlKGludCBzdGFydCwgaW50IGVuZCkgY29uc3QgT1ZFUlJJREUK
LSAgICAgICAgewotICAgICAgICAgICAgaW50IGxlbmd0aCA9IGVuZCAtIHN0YXJ0OwotICAgICAg
ICAgICAgQVNTRVJUKGxlbmd0aCA+PSAwKTsKLSAgICAgICAgICAgIEFTU0VSVChzdGFydCArIGxl
bmd0aCA8PSB0aGlzLT5sZW5ndGgoKSk7Ci0KLSAgICAgICAgICAgIFN0cmluZyBzY3JpcHQgPSBt
X2NhY2hlZFNjcmlwdC0+c2NyaXB0KCk7Ci0gICAgICAgICAgICByZXR1cm4gU3RyaW5nKFN0cmlu
Z0ltcGw6OmNyZWF0ZShzY3JpcHQuaW1wbCgpLCBzdGFydCwgbGVuZ3RoKSk7Ci0gICAgICAgIH0K
LQotICAgICAgICBjb25zdCBTdHJpbmdJbXBsKiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jYWNo
ZWRTY3JpcHQtPnNjcmlwdCgpLmltcGwoKTsgfQotICAgICAgICBpbnQgbGVuZ3RoKCkgY29uc3Qg
eyByZXR1cm4gbV9jYWNoZWRTY3JpcHQtPnNjcmlwdCgpLmxlbmd0aCgpOyB9Ci0gICAgICAgIGNv
bnN0IFN0cmluZyYgc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRTY3JpcHQtPnNjcmlw
dCgpOyB9Ci0KLSAgICAgICAgdmlydHVhbCB2b2lkIGNhY2hlU2l6ZUNoYW5nZWQoaW50IGRlbHRh
KSAKLSAgICAgICAgeyAKLSAgICAgICAgICAgIG1fY2FjaGVkU2NyaXB0LT5zb3VyY2VQcm92aWRl
ckNhY2hlU2l6ZUNoYW5nZWQoZGVsdGEpOwotICAgICAgICB9CisgICAgdmlydHVhbCB+Q2FjaGVk
U2NyaXB0U291cmNlUHJvdmlkZXIoKQorICAgIHsKKyAgICAgICAgbV9jYWNoZWRTY3JpcHQtPnJl
bW92ZUNsaWVudCh0aGlzKTsKKyAgICB9CiAKLSAgICBwcml2YXRlOgotICAgICAgICBDYWNoZWRT
Y3JpcHRTb3VyY2VQcm92aWRlcihDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkKLSAgICAgICAg
ICAgIDogU2NyaXB0U291cmNlUHJvdmlkZXIoY2FjaGVkU2NyaXB0LT5yZXNwb25zZSgpLnVybCgp
LCBUZXh0UG9zaXRpb246Om1pbmltdW1Qb3NpdGlvbigpLCBjYWNoZWRTY3JpcHQtPnNvdXJjZVBy
b3ZpZGVyQ2FjaGUoKSkKLSAgICAgICAgICAgICwgbV9jYWNoZWRTY3JpcHQoY2FjaGVkU2NyaXB0
KQotICAgICAgICB7Ci0gICAgICAgICAgICBtX2NhY2hlZFNjcmlwdC0+YWRkQ2xpZW50KHRoaXMp
OwotICAgICAgICB9CisgICAgY29uc3QgU3RyaW5nJiBzb3VyY2UoKSBjb25zdCB7IHJldHVybiBt
X2NhY2hlZFNjcmlwdC0+c2NyaXB0KCk7IH0KIAotICAgICAgICBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRTY3JpcHQ+IG1fY2FjaGVkU2NyaXB0OwotICAgIH07CisgICAgdmlydHVhbCB2b2lk
IGNhY2hlU2l6ZUNoYW5nZWQoaW50IGRlbHRhKQorICAgIHsKKyAgICAgICAgbV9jYWNoZWRTY3Jp
cHQtPnNvdXJjZVByb3ZpZGVyQ2FjaGVTaXplQ2hhbmdlZChkZWx0YSk7CisgICAgfQogCi0gICAg
aW5saW5lIEpTQzo6U291cmNlQ29kZSBtYWtlU291cmNlKENhY2hlZFNjcmlwdCogY2FjaGVkU2Ny
aXB0KQorcHJpdmF0ZToKKyAgICBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihDYWNoZWRTY3Jp
cHQqIGNhY2hlZFNjcmlwdCkKKyAgICAgICAgOiBTb3VyY2VQcm92aWRlcihjYWNoZWRTY3JpcHQt
PnJlc3BvbnNlKCkudXJsKCksIFRleHRQb3NpdGlvbjo6bWluaW11bVBvc2l0aW9uKCksIGNhY2hl
ZFNjcmlwdC0+c291cmNlUHJvdmlkZXJDYWNoZSgpKQorICAgICAgICAsIG1fY2FjaGVkU2NyaXB0
KGNhY2hlZFNjcmlwdCkKICAgICB7Ci0gICAgICAgIHJldHVybiBKU0M6OlNvdXJjZUNvZGUoQ2Fj
aGVkU2NyaXB0U291cmNlUHJvdmlkZXI6OmNyZWF0ZShjYWNoZWRTY3JpcHQpKTsKKyAgICAgICAg
bV9jYWNoZWRTY3JpcHQtPmFkZENsaWVudCh0aGlzKTsKICAgICB9CiAKKyAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IG1fY2FjaGVkU2NyaXB0OworfTsKKworaW5saW5lIEpT
Qzo6U291cmNlQ29kZSBtYWtlU291cmNlKENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0KQorewor
ICAgIHJldHVybiBKU0M6OlNvdXJjZUNvZGUoQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI6OmNy
ZWF0ZShjYWNoZWRTY3JpcHQpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IDE2YzRkOWRmYjU0OWFlMjdl
MTM0ZWYwMjI5N2QzZDMyNDBiOTc0MDMuLmFhNjBhMmRkOGEzNThiZmM1ZGUxMWQzYjBjNDcwZTJl
YjkxNGRiYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERl
YnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1
Z1NlcnZlci5jcHAKQEAgLTEzNCw3ICsxMzQsNyBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjp1
cGRhdGVDdXJyZW50U3RhdGVtZW50UG9zaXRpb24oaW50cHRyX3Qgc291cmNlSUQsIGludCBsaQog
ICAgIFNvdXJjZVByb3ZpZGVyKiBzb3VyY2UgPSByZWludGVycHJldF9jYXN0PFNvdXJjZVByb3Zp
ZGVyKj4oc291cmNlSUQpOwogCiAgICAgaWYgKG1fY3VycmVudFNvdXJjZUlEICE9IHNvdXJjZUlE
KSB7Ci0gICAgICAgIFN0cmluZyBzb3VyY2VDb2RlKGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCo+KHNv
dXJjZS0+ZGF0YSgpKSk7CisgICAgICAgIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSA9IHNvdXJj
ZS0+c291cmNlKCk7CiAgICAgICAgIG1fY3VycmVudFNvdXJjZUNvZGUuY2xlYXIoKTsKICAgICAg
ICAgc291cmNlQ29kZS5zcGxpdCgiXG4iLCB0cnVlLCBtX2N1cnJlbnRTb3VyY2VDb2RlKTsKICAg
ICAgICAgbV9jdXJyZW50U291cmNlSUQgPSBzb3VyY2VJRDsKQEAgLTMyMCw3ICszMjAsNyBAQCB2
b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaERpZFBhcnNlU291cmNlKGNvbnN0IExpc3Rl
bmVyU2V0JiBsaXN0ZW5lcnMsIFNvdQogCiAgICAgU2NyaXB0RGVidWdMaXN0ZW5lcjo6U2NyaXB0
IHNjcmlwdDsKICAgICBzY3JpcHQudXJsID0gc291cmNlUHJvdmlkZXItPnVybCgpOwotICAgIHNj
cmlwdC5zb3VyY2UgPSBTdHJpbmcoY29uc3RfY2FzdDxTdHJpbmdJbXBsKj4oc291cmNlUHJvdmlk
ZXItPmRhdGEoKSkpOworICAgIHNjcmlwdC5zb3VyY2UgPSBzb3VyY2VQcm92aWRlci0+c291cmNl
KCk7CiAgICAgc2NyaXB0LnN0YXJ0TGluZSA9IHNvdXJjZVByb3ZpZGVyLT5zdGFydFBvc2l0aW9u
KCkubV9saW5lLnplcm9CYXNlZEludCgpOwogICAgIHNjcmlwdC5zdGFydENvbHVtbiA9IHNvdXJj
ZVByb3ZpZGVyLT5zdGFydFBvc2l0aW9uKCkubV9jb2x1bW4uemVyb0Jhc2VkSW50KCk7CiAgICAg
c2NyaXB0LmlzQ29udGVudFNjcmlwdCA9IGlzQ29udGVudFNjcmlwdDsKQEAgLTM1NSw3ICszNTUs
NyBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaERpZFBhcnNlU291cmNlKGNvbnN0
IExpc3RlbmVyU2V0JiBsaXN0ZW5lcnMsIFNvdQogdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlz
cGF0Y2hGYWlsZWRUb1BhcnNlU291cmNlKGNvbnN0IExpc3RlbmVyU2V0JiBsaXN0ZW5lcnMsIFNv
dXJjZVByb3ZpZGVyKiBzb3VyY2VQcm92aWRlciwgaW50IGVycm9yTGluZSwgY29uc3QgU3RyaW5n
JiBlcnJvck1lc3NhZ2UpCiB7CiAgICAgU3RyaW5nIHVybCA9IHNvdXJjZVByb3ZpZGVyLT51cmwo
KTsKLSAgICBTdHJpbmcgZGF0YSA9IFN0cmluZyhjb25zdF9jYXN0PFN0cmluZ0ltcGwqPihzb3Vy
Y2VQcm92aWRlci0+ZGF0YSgpKSk7CisgICAgY29uc3QgU3RyaW5nJiBkYXRhID0gc291cmNlUHJv
dmlkZXItPnNvdXJjZSgpOwogICAgIGludCBmaXJzdExpbmUgPSBzb3VyY2VQcm92aWRlci0+c3Rh
cnRQb3NpdGlvbigpLm1fbGluZS5vbmVCYXNlZEludCgpOwogCiAgICAgVmVjdG9yPFNjcmlwdERl
YnVnTGlzdGVuZXIqPiBjb3B5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0U291cmNlQ29kZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
U291cmNlQ29kZS5oCmluZGV4IGZlNWFiN2IwNDc0ZGRkMDc2OGNjMjk2OTMxYzlkMDBmNWMyOGEx
ZTQuLmIxYWZiZGViMDM3Y2VlYTJhZWIzYjdmNGExYjg1MDM0ZmNmNTAxZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZUNvZGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTb3VyY2VDb2RlLmgKQEAgLTMyLDkgKzMyLDgg
QEAKICNkZWZpbmUgU2NyaXB0U291cmNlQ29kZV9oCiAKICNpbmNsdWRlICJDYWNoZWRTY3JpcHRT
b3VyY2VQcm92aWRlci5oIgotI2luY2x1ZGUgIlNjcmlwdFNvdXJjZVByb3ZpZGVyLmgiCi0jaW5j
bHVkZSAiU3RyaW5nU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVk
ZSA8cGFyc2VyL1NvdXJjZVByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0
aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00Myw3ICs0Miw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGUgewogcHVibGljOgogICAgIFNj
cmlwdFNvdXJjZUNvZGUoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCA9IEtV
UkwoKSwgY29uc3QgVGV4dFBvc2l0aW9uJiBzdGFydFBvc2l0aW9uID0gVGV4dFBvc2l0aW9uOjpt
aW5pbXVtUG9zaXRpb24oKSkKLSAgICAgICAgOiBtX3Byb3ZpZGVyKFN0cmluZ1NvdXJjZVByb3Zp
ZGVyOjpjcmVhdGUoc291cmNlLCB1cmwuaXNOdWxsKCkgPyBTdHJpbmcoKSA6IHVybC5zdHJpbmco
KSwgc3RhcnRQb3NpdGlvbikpCisgICAgICAgIDogbV9wcm92aWRlcihKU0M6OlN0cmluZ1NvdXJj
ZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwuaXNOdWxsKCkgPyBTdHJpbmcoKSA6IHVybC5z
dHJpbmcoKSwgc3RhcnRQb3NpdGlvbikpCiAgICAgICAgICwgbV9jb2RlKG1fcHJvdmlkZXIsIHN0
YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCkpCiAgICAgICAgICwgbV91cmwodXJsKQog
ICAgIHsKQEAgLTY2LDcgKzY1LDcgQEAgcHVibGljOgogICAgIGNvbnN0IEtVUkwmIHVybCgpIGNv
bnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgCiBwcml2YXRlOgotICAgIFJlZlB0cjxTY3JpcHRT
b3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKKyAgICBSZWZQdHI8SlNDOjpTb3VyY2VQcm92aWRl
cj4gbV9wcm92aWRlcjsKICAgICAKICAgICBKU0M6OlNvdXJjZUNvZGUgbV9jb2RlOwogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291cmNlUHJvdmlk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZVByb3ZpZGVyLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzOTYwODJmYTFjNzYyODU5YTI1NDhlNTNl
ZmJhZDJhZDc3NGIwMTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U291cmNlUHJvdmlkZXIuaAor
KysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkg
RGFuaWVsIEJhdGVzIChkYmF0ZXNAaW50dWRhdGEuY29tKQotICogQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpZm5kZWYgU2NyaXB0U291cmNlUHJvdmlkZXJfaAotI2RlZmluZSBTY3JpcHRTb3VyY2VQcm92
aWRlcl9oCi0KLSNpbmNsdWRlIDxwYXJzZXIvU291cmNlUHJvdmlkZXIuaD4KLSNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLSAgICBjbGFzcyBTY3JpcHRT
b3VyY2VQcm92aWRlciA6IHB1YmxpYyBKU0M6OlNvdXJjZVByb3ZpZGVyIHsKLSAgICBwdWJsaWM6
Ci0gICAgICAgIFNjcmlwdFNvdXJjZVByb3ZpZGVyKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBU
ZXh0UG9zaXRpb24mIHN0YXJ0UG9zaXRpb24sIEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZSogY2Fj
aGUgPSAwKQotICAgICAgICAgICAgOiBTb3VyY2VQcm92aWRlcih1cmwsIHN0YXJ0UG9zaXRpb24s
IGNhY2hlKQotICAgICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICB2aXJ0dWFsIGNvbnN0IFN0
cmluZyYgc291cmNlKCkgY29uc3QgPSAwOwotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIFNjcmlwdFNvdXJjZVByb3ZpZGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1N0cmluZ1NvdXJjZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TdHJpbmdTb3VyY2VQcm92aWRlci5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2YjZiYjRlOWFiMTYxNmIyY2ZlZTRlN2M2MmU3ZGI3ZTQ2ODQzODcxLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1N0cmluZ1NvdXJjZVByb3ZpZGVyLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw3MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaWZuZGVmIFN0cmluZ1NvdXJjZVByb3ZpZGVyX2gKLSNkZWZpbmUgU3Ry
aW5nU291cmNlUHJvdmlkZXJfaAotCi0jaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCi0jaW5jbHVk
ZSAiU2NyaXB0U291cmNlUHJvdmlkZXIuaCIKLSNpbmNsdWRlIDxwYXJzZXIvU291cmNlQ29kZS5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLSAgICBjbGFzcyBTdHJpbmdTb3VyY2VQcm92aWRl
ciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQcm92aWRlciB7Ci0gICAgcHVibGljOgotICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdTb3VyY2VQcm92aWRlcj4gY3JlYXRlKGNvbnN0IFN0cmlu
ZyYgc291cmNlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVGV4dFBvc2l0aW9uJiBzdGFydFBv
c2l0aW9uKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0cmlu
Z1NvdXJjZVByb3ZpZGVyKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSk7Ci0gICAgICAgIH0K
LQotICAgICAgICB2aXJ0dWFsIFN0cmluZyBnZXRSYW5nZShpbnQgc3RhcnQsIGludCBlbmQpIGNv
bnN0IE9WRVJSSURFCi0gICAgICAgIHsKLSAgICAgICAgICAgIGludCBsZW5ndGggPSBlbmQgLSBz
dGFydDsKLSAgICAgICAgICAgIEFTU0VSVChsZW5ndGggPj0gMCk7Ci0gICAgICAgICAgICBBU1NF
UlQoc3RhcnQgKyBsZW5ndGggPD0gdGhpcy0+bGVuZ3RoKCkpOwotCi0gICAgICAgICAgICByZXR1
cm4gU3RyaW5nKFN0cmluZ0ltcGw6OmNyZWF0ZShtX3NvdXJjZS5pbXBsKCksIHN0YXJ0LCBsZW5n
dGgpKTsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0IFN0cmluZ0ltcGwqIGRhdGEoKSBjb25z
dCB7IHJldHVybiBtX3NvdXJjZS5pbXBsKCk7IH0KLSAgICAgICAgaW50IGxlbmd0aCgpIGNvbnN0
IHsgcmV0dXJuIG1fc291cmNlLmxlbmd0aCgpOyB9Ci0gICAgICAgIGNvbnN0IFN0cmluZyYgc291
cmNlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2U7IH0KLQotICAgIHByaXZhdGU6Ci0gICAgICAg
IFN0cmluZ1NvdXJjZVByb3ZpZGVyKGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgVGV4dFBvc2l0aW9uJiBzdGFydFBvc2l0aW9uKQotICAgICAgICAgICAgOiBT
Y3JpcHRTb3VyY2VQcm92aWRlcih1cmwsIHN0YXJ0UG9zaXRpb24pCi0gICAgICAgICAgICAsIG1f
c291cmNlKHNvdXJjZSkKLSAgICAgICAgewotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBT
dHJpbmcgbV9zb3VyY2U7Ci0gICAgfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYgLy8gU3RyaW5nU291cmNlUHJvdmlkZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCBhNWZjMzViMjk5NDNh
MTc0NWIxN2NjNmY4ZmE1ZGU4MTgyNDQ5OTE1Li43NGEyNGIwOGY3MzU1NTkxYzFhZThiZGUwMzc5
M2ZiYzQxNGVhNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3Jr
ZXJTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
b3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSAi
V29ya2VyU2NyaXB0Q29udHJvbGxlci5oIgogCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAj
aW5jbHVkZSAiSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiU2NyaXB0U291
cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbSBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCmluZGV4IGZmNjNmZDJlNDg5YTc4NDA2
YWY4OWNkY2M0MzE2NzY3NmNhOTVhMGMuLjE1ZWNmNzcwYWRjYjA5ZjYyODg5YjYwOGQxZTZkMWVk
NTE2NTFhMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvV2ViU2Ny
aXB0T2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvV2ViU2NyaXB0
T2JqZWN0Lm1tCkBAIC0zOCw3ICszOCw2IEBACiAjaW1wb3J0ICJKU01haW5UaHJlYWRFeGVjU3Rh
dGUuaCIKICNpbXBvcnQgIkpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5oIgogI2ltcG9ydCAiT2Jq
Q1J1bnRpbWVPYmplY3QuaCIKLSNpbXBvcnQgIlN0cmluZ1NvdXJjZVByb3ZpZGVyLmgiCiAjaW1w
b3J0ICJXZWJDb3JlT2JqQ0V4dHJhcy5oIgogI2ltcG9ydCAib2JqY19pbnN0YW5jZS5oIgogI2lt
cG9ydCAicnVudGltZV9vYmplY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9OUF9qc29iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuY3Bw
CmluZGV4IDhhM2E1NTIyNzlmNmJjYTAwZWQ0MzYwNjA2ZGZkZjY3YmExYjRjMGEuLmMwMmNlZWU0
NmI3MzZkODJkNjFmMDc4MDA3ZmFjMmU0ZTM4NDJjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9OUF9qc29iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL05Q
X2pzb2JqZWN0LmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIk5QX2pzb2JqZWN0Lmgi
CiAKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCi0jaW5jbHVkZSAiU3RyaW5nU291cmNlUHJvdmlk
ZXIuaCIKICNpbmNsdWRlICJjX3V0aWxpdHkuaCIKICNpbmNsdWRlICJjX2luc3RhbmNlLmgiCiAj
aW5jbHVkZSAiSWRlbnRpZmllclJlcC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL2puaS9qbmlfanNvYmplY3QubW0gYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9q
c29iamVjdC5tbQppbmRleCBmOTBlNTk4ODk3MTQ2MGQyN2VkMTJmYjBkZmQ3YWUwODBlMmM0ZTY2
Li41YjI0ZWIwZmU4NjlkOGQwMjQzYzNkMWI2NmJhMWQwZmRhOGYyMjg3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbQpAQCAtMzYsMTEgKzM2LDExIEBACiAjaW5j
bHVkZSAiSmF2YVN0cmluZ0pTQy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJT
Y3JpcHRDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiU3RyaW5nU291cmNlUHJvdmlkZXIuaCIKICNp
bmNsdWRlICJXZWJDb3JlRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAicnVudGltZV9vYmplY3QuaCIK
ICNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIKICNpbmNsdWRlIDxpbnRlcnByZXRlci9DYWxsRnJh
bWUuaD4KKyNpbmNsdWRlIDxwYXJzZXIvU291cmNlQ29kZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUv
Q29tcGxldGlvbi5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaD4KICNpbmNs
dWRlIDxydW50aW1lL0pTTG9jay5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCmluZGV4
IDQzYWQyOTg0ZGI1Y2Y0Y2YzYmJiMTBlMmM4M2I5MzQ5ODMxODc2NWMuLjkxNjU2ZDg0NzBjYmJl
ZDRkMTc2NzZiNmVlM2M1OTdkNDU3MTdlNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHku
bW0KQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0Vycm9yLmg+CiAj
aW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KU0xvY2suaD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3Jl
L1Byb3BlcnR5TmFtZUFycmF5Lmg+CisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Tb3VyY2VDb2Rl
Lmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9TdHJvbmdJbmxpbmVzLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0Nvb2tpZUphci5oPgogI2ltcG9ydCA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpA
QCAtNTYsNyArNTcsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2lt
cG9ydCA8V2ViQ29yZS9TY3JpcHRDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Njcmlw
dFZhbHVlLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1N0cmluZ1NvdXJjZVByb3ZpZGVyLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL25w
cnVudGltZV9pbXBsLmg+CiAjaW1wb3J0IDxXZWJDb3JlL3J1bnRpbWVfb2JqZWN0Lmg+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlNjcmlwdERlYnVnZ2VyLm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z2dlci5tbQppbmRleCAxM2M0
ZjdjZWM0NTMyNGQyNDMzZTNhZGU5Njk4OTJmMTBmZjI3NTM4Li5iOGRiYTgxMDJmMTdkYzgwZmFj
NDY1ZTQ3MWE5NzkxNWE1ODY0YWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlNjcmlwdERlYnVnZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViU2NyaXB0RGVidWdnZXIubW0KQEAgLTUxLDExICs1MSwxMiBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIC0gKHZvaWQpX2NsZWFyRGVidWdnZXJDYWxsRnJhbWU7CiBAZW5kCiAKLXN0YXRp
YyBOU1N0cmluZyAqdG9OU1N0cmluZyhTb3VyY2VQcm92aWRlciogcykKK3N0YXRpYyBOU1N0cmlu
ZyAqdG9OU1N0cmluZyhTb3VyY2VQcm92aWRlciogc291cmNlUHJvdmlkZXIpCiB7Ci0gICAgaWYg
KCFzLT5sZW5ndGgoKSkKKyAgICBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZyA9IHNvdXJjZVBy
b3ZpZGVyLT5zb3VyY2UoKTsKKyAgICBpZiAoc291cmNlU3RyaW5nLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuIG5pbDsKLSAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJz
OnMtPmRhdGEoKS0+Y2hhcmFjdGVycygpIGxlbmd0aDpzLT5sZW5ndGgoKV07CisgICAgcmV0dXJu
IHNvdXJjZVN0cmluZzsKIH0KIAogLy8gQ29udmVydCBTdHJpbmcgdG8gTlNVUkwuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>